/* External Drive Duplicate Finder — page styles.
   The layout system below (.sec / .row / .feature-list / [data-reveal] …) is the
   same one used by duplicate-photo-finder.html; it lives inside that page's own
   stylesheet, so it is copied here unchanged instead of loading that file.
   duplicate-photo-finder.css is not modified. */

:root{
  --blue:#1B89FE; --blue-d:#0f6fd0; --purple:#7A6FF0; --pink:#E273FF;
  --teal:#0fa97a; --ink:#1b2740; --muted:#5a6b88; --line:#e5ebf5;
  --soft:#f5f8fe; --r-lg:22px; --r-md:16px; --r-sm:12px;
  --grad:linear-gradient(90deg,var(--blue),var(--purple));
  --grad2:linear-gradient(135deg,var(--blue),var(--purple));
  --sh-1:0 12px 26px -20px rgba(31,42,68,.15);
  --sh-2:0 24px 48px -22px rgba(31,42,68,.22);
}

/*--------------------------------------------------------------
  Banner
--------------------------------------------------------------*/
.ext-header{padding-top:32px}
.ext-header .text-area{padding-top:8px}
.ext-header h1{max-width:520px;font-size:36px;line-height:1.2}
.ext-header .dp-list{max-width:500px}
.ext-header .hero img{max-width:80%;height:auto;display:block;margin:0 auto 10px}
.ext-header .hero img.hero-art{max-width:100%;height:auto;display:block;margin:0}
.ext-header .hero .ph{max-width:520px;aspect-ratio:6/5;margin:0 auto 10px}

/*--------------------------------------------------------------
  Layout system
--------------------------------------------------------------*/
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0}
@media(min-width:768px) and (max-width:1024px){.wrap{padding:0 40px}}
@media(max-width:767px){.wrap{padding:0 20px}}

[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .75s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s);will-change:opacity,transform}
[data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

.sec{padding:96px 0}
.sec.alt{background:#F2F8FF}
.sec-head{text-align:center;max-width:760px;margin:0 auto 56px}
.sec-title{font-size:clamp(27px,3vw,35px);line-height:1.2;font-weight:800;letter-spacing:-.015em;color:var(--ink);margin:0 0 16px}
.sec-title::after{content:"";display:block;width:64px;height:4px;border-radius:999px;background:var(--grad);margin:20px auto 0}
.sec-title.no-line::after{display:none}
.sec-lede{font-size:16px;line-height:1.5;color:var(--muted);margin:0}

.row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin:64px 0}
.row.flip .row-visual{order:2}
.sec > .wrap > .row:last-child{margin-bottom:0}
.row-visual{display:flex;justify-content:center}
.row-visual img{max-width:100%;height:auto;display:block}
.row-visual .ph{aspect-ratio:3/2}
.row-text h3{font-size:23px;font-weight:800;color:var(--ink);margin:0 0 14px;letter-spacing:-.01em;line-height:1.35}
.row-text p{font-size:16px;line-height:1.5;color:#45536f;margin:0 0 12px}
.row-text p:last-child{margin-bottom:0}
.row-text ul.feature-list{display:block;grid-template-rows:none;list-style:none;margin:0 0 12px;padding:0;background:transparent}
.feature-list li{position:relative;padding-left:24px;margin:0 0 8px;font-size:16px;line-height:1.5;color:#45536f}
.feature-list li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:#2589ff}
.feature-list li b{color:var(--ink)}
.feature-list li:last-child{margin-bottom:0}

/*--------------------------------------------------------------
  In-content text links
  common-banner.css applies a site-wide `a { color: black; text-decoration: none }`
  reset, which left the links in the body copy looking like plain text. Restore
  the blue only, with no underline. Scoped to this page's body copy so the header,
  top menu, footer and button-styled links elsewhere on the site are untouched.
--------------------------------------------------------------*/
.external-drive-page .row-text p a,
.external-drive-page .feature-list li a,
.external-drive-page .spec p a,
.external-drive-page .uc p a,
.external-drive-page .sec-lede a{color:var(--blue);text-decoration:none}
.external-drive-page .row-text p a:hover,
.external-drive-page .feature-list li a:hover,
.external-drive-page .spec p a:hover,
.external-drive-page .uc p a:hover,
.external-drive-page .sec-lede a:hover{color:var(--blue-d)}

/*--------------------------------------------------------------
  Image placeholders — every figure position is drawn as a dashed box so the
  layout is visible before the real PNGs are in place. Replace the whole
  <div class="ph">…</div> with the matching <img> tag.
--------------------------------------------------------------*/
.ph{
  display:flex;align-items:center;justify-content:center;text-align:center;
  box-sizing:border-box;width:100%;padding:14px;
  border:2px dashed #b9cde8;border-radius:var(--r-md);
  background:repeating-linear-gradient(45deg,#f8fbff,#f8fbff 10px,#eef5ff 10px,#eef5ff 20px);
  color:#7c93b5;font-size:13px;line-height:1.5
}
.ph--icon{width:100%;height:100%;padding:0;border-radius:12px;font-size:0}

/*--------------------------------------------------------------
  Wide range of external drives (section 1)
--------------------------------------------------------------*/
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:8px auto 0}
.spec{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:30px 26px;box-shadow:var(--sh-1);text-align:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.spec:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--blue)}
/* The 44/48px .ic boxes were copied from duplicate-photo-finder.css, where each
   icon is a single-path <svg> glyph. The icons here are 240x240 illustration
   files (the width/height attributes on the <img> tags), so a 44px box let the
   image overflow and land on top of the heading below it. Size the box to the
   illustration instead. */
.spec .ic{width:240px;max-width:100%;height:auto;margin:0 auto 16px}
.spec .ic img,.uc .ic img{display:block;width:100%;height:auto}
/* common-banner.css sets a bare h3 { text-align: left }, which overrides the
   centred inheritance from .spec — say it explicitly. */
.spec h3{font-size:17px;font-weight:800;color:var(--ink);margin:0 0 10px;letter-spacing:-.01em;text-align:center}
.spec p{margin:0;font-size:16px;line-height:1.6;color:#45536f}

/*--------------------------------------------------------------
  Use cases (section 4) — 2 x 2 grid
--------------------------------------------------------------*/
.uc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:1000px;margin:0 auto}
.uc{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:32px 30px;box-shadow:var(--sh-1);text-align:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.uc:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--blue)}
.uc .ic{width:240px;max-width:100%;height:auto;margin:0 auto 18px}
.uc h3{font-size:18px;font-weight:800;color:var(--ink);margin:0 0 10px;letter-spacing:-.01em;text-align:center}
.uc p{margin:0;font-size:16px;line-height:1.6;color:#45536f}

/*--------------------------------------------------------------
  Three steps (section 3)
--------------------------------------------------------------*/
.external-drive-page #how-it-works .steps-container{padding-bottom:0;margin-bottom:40px}
.steps-container .step,.steps-container .step.active{background:none;border:none;box-shadow:none}
.steps-container .step.active .step-content h3{color:#3999ff}
.steps-container .step-content p{font-size:16px;line-height:1.5;color:#45536f;font-weight:400}
/* The dashed rule joining the three step icons is drawn by the shared
   duplicate-finder.css (.steps-container .step-icon::after). The sibling photo
   page switches it off, and that override was copied here by mistake — removing
   it restores the connector. */

/* This sub-heading is an <h3> and takes the same scale as the .row-text h3
   headings above it, not the larger .sec-title scale used by the h2 section
   heads. */
#how-it-works .sec-title{font-size:23px;font-weight:800;line-height:1.35;letter-spacing:-.01em;text-align:center}
/* .image sits on the <img> element itself, so a forced aspect-ratio stretched the
   screenshots (they run 1.23~1.50, not 1.60). Matches the shared rule
   .steps-container .images img, which sets width only and lets height follow. */
.steps-container .images .image{width:650px;max-width:90vw;height:auto;border-radius:6px}
.steps-container .images .image:not(.active){display:none}

/*--------------------------------------------------------------
  Note box (section 3)
--------------------------------------------------------------*/
.platform-note{display:flex;align-items:flex-start;gap:12px;text-align:left;background:#fff;border:1px solid #dbe7fb;border-radius:14px;padding:18px 22px;box-shadow:var(--sh-1);max-width:640px;margin:8px auto 0}
.platform-note .ic{flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:rgba(27,137,254,.1);color:var(--blue);display:flex;align-items:center;justify-content:center}
.platform-note p{margin:0;font-size:14.5px;line-height:1.6;color:#45536f}
.platform-note .note-title{margin:0 0 6px;font-weight:700;font-size:15.5px;color:var(--ink)}
.note-block{max-width:none;margin:0}

/*--------------------------------------------------------------
  FAQ
--------------------------------------------------------------*/
/* The long answer to the last question runs past the 200px cap that the shared
   stylesheet puts on .faq-answer, so it is raised for this page only. */
.external-drive-page #faq .faq-item.active .faq-answer{max-height:800px}
.external-drive-page #faq .faq-answer p{margin:0 0 10px}
.external-drive-page #faq .faq-answer p:last-child{margin-bottom:0}

@media (min-width:1024px){
  .external-drive-page #faq h2{margin-bottom:40px}
}

/*--------------------------------------------------------------
  Footer
--------------------------------------------------------------*/
.ext-footer{padding-top:80px;padding-bottom:76px}
.ext-footer .text{max-width:720px;margin-left:auto;margin-right:auto}

/*--------------------------------------------------------------
  Responsive
--------------------------------------------------------------*/
@media(max-width:960px){
  .row{grid-template-columns:1fr;gap:10px;margin:58px 0}
  .row.flip .row-visual{order:0}
  .sec{padding:72px 0}

  .specs{grid-template-columns:1fr;gap:18px}
  /* No 44px icon column here: the icon is a 240x240 illustration, so it stays
     centred above the text exactly as it does on desktop. */
  .spec{padding:24px 22px}
}

@media(max-width:767px){
  .sec-head{text-align:left}
  .sec-title{font-size:22px}
  .row-text h3{font-size:16px}
  #how-it-works .sec-title{font-size:16px;text-align:left}
  .spec h3{font-size:16px}
  .uc h3{font-size:16px}

  .uc-grid{grid-template-columns:1fr}

  .ext-header{padding-top:10px}
  .ext-header .text-area{padding-top:0}
  .ext-header h1{font-size:26px}
  .ext-header .hero img{max-width:100%}
  .ext-header .hero .ph{max-width:100%}

  .ext-footer{padding-top:24px;padding-bottom:48px}
  .ext-footer .footer-title{font-size:22px}
  .ext-footer .text{font-size:14px}
}

@media(min-width:768px) and (max-width:1024px){
  .ext-header{padding-top:22px}
  .ext-header .dp-list{text-align:center;max-width:720px;margin:0 auto}
  .ext-header .hero{justify-content:center}

  .row-text{text-align:center}
  .row-text .feature-list li{padding-left:0}
  .row-text .feature-list li::before{position:static;display:inline-block;margin-right:8px;vertical-align:middle}
}
