/* Tailwind foundation with scoped art direction. No behavior or content changes. */
:root{--paper:#fdfcf9;--orange:#f25c22;--green:#163f35;--muted:#7b8078}
body{background:radial-gradient(ellipse at 0 28%,#f4ebe14d,transparent 45%),#fdfcf9;color:var(--green);font-family:Arial,Helvetica,sans-serif;line-height:1.65;padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}
.page{max-width:1040px}
.header{background:#fdfcf9f5;border-bottom:1px solid #e9e5dc;box-shadow:0 3px 15px #30412e04}
.brand{letter-spacing:-1.8px;line-height:1}
.header .brand{font-weight:800}
.hero-copy{padding-top:40px;padding-bottom:40px;min-height:460px}
.hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.09;letter-spacing:-2.6px;margin:0}
.hero-copy h1 em{font-weight:700;color:var(--orange)}
.hero-copy p{font-size:15px;line-height:1.85;color:#354b3c;opacity:.67;margin:25px 0 28px;max-width:45%}
.hero-copy .eyebrow{font-size:9px;line-height:1.8;letter-spacing:1.6px;font-weight:600;color:#876b51;margin-bottom:23px}
.hero-portrait{height:460px;mask-image:linear-gradient(#000 80%,transparent)}
.hero-portrait:after{background:linear-gradient(90deg,#fdfcf9,#fdfcf9d6 28%,#fdfcf936 50%,transparent 68%)}
[data-download]{background:linear-gradient(175deg,#f5672c,#f25c22 78%);color:#fff;font-weight:700;border:1px solid #e850171f;box-shadow:inset 0 1px 0 #ffffff29,0 4px 12px #d86b2420;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;line-height:1.3;white-space:nowrap}
.header-download{border-radius:13px;padding:13px 18px;font-size:13px}
.hero-copy .hero-download{border-radius:17px;padding:18px 24px;font-size:14px;box-shadow:inset 0 1px 0 #ffffff29,0 6px 17px #d86b2424}
.dock-button{border-radius:17px;padding:19px 25px;font-size:15px;gap:14px}
@media(hover:hover){[data-download]:hover{background:linear-gradient(175deg,#f76b32,#ec561d);transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff29,0 7px 16px #d86b2429}}
[data-download]:active{transform:translateY(0)}
.featured-heading{margin:22px 0 20px;line-height:1.8;font-size:12px;color:#828478}
.featured-heading>a{font-size:11px;letter-spacing:.2px;color:#566455}
.featured{gap:18px;padding-bottom:12px}
.profile{border-radius:24px;border:1px solid #ece8df;background:linear-gradient(175deg,#fff,#fefdfa);box-shadow:0 9px 22px -12px #30413126,0 2px 5px #30413104;overflow:hidden}
.profile .portrait{border-radius:23px 23px 0 0;isolation:isolate}
.portrait:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#fdfcf938,transparent 22%),radial-gradient(ellipse at 50% 38%,transparent 42%,#1529190b 100%);z-index:1}
.profile .profile-info{padding:19px 19px 22px;line-height:1.6;min-height:96px}
.profile h3{font-weight:600;line-height:1.45;letter-spacing:-.35px;font-size:20px;margin:0 0 8px}
.profile .location{font-size:12px;line-height:1.6;color:#808579;gap:6px;font-weight:400}
.profile .location svg{width:14px;height:14px;fill:#b28760}
.profile-featured .profile-info{padding:16px 17px 19px;min-height:91px}
.profile-featured h3{font-size:18px;line-height:1.45;margin-bottom:7px}
.profile-featured .location{font-size:11px}
.section-heading{margin:39px 0 24px;padding-top:31px;border-top:1px solid #eae6dc;line-height:1.4}
.section-heading h2{font-size:34px;line-height:1.25;font-weight:700;letter-spacing:-1.3px}
.section-heading>span{font-size:11px;color:#909286;line-height:1.7}
.nearby-grid{gap:22px}
.how-it-works,.faq{border:1px solid #eae7de;border-radius:27px;box-shadow:0 10px 30px -19px #33433224,0 2px 6px #33433203;overflow:hidden}
.how-it-works{margin-top:48px;padding:35px;background:linear-gradient(135deg,#f0f2e9,#f8f8f1);gap:35px}
.section-kicker{font-size:9px;font-weight:600;letter-spacing:1.8px;line-height:1.8;color:#859079}
.how-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:36px;font-weight:700;line-height:1.25;letter-spacing:-1px;margin:16px 0 20px}
.how-intro>p{font-size:12px;line-height:1.9;color:#88907f}
.steps{gap:25px}
.steps article{gap:17px}
.step-number{width:36px;height:36px;border-radius:12px;background:linear-gradient(#fffefb,#faf9f3);border-color:#e7e4d8;color:#a17650;box-shadow:0 3px 7px #48543105;font-size:10px}
.steps h3{font-size:14px;font-weight:600;line-height:1.5;margin:1px 0 7px}
.steps p{font-size:12px;line-height:1.85;color:#818a79}
.faq{margin-top:32px;padding:33px 34px 14px;background:linear-gradient(135deg,#fffefa,#fffdf9)}
.faq>h2{font-size:32px;line-height:1.3;font-weight:700;letter-spacing:-1.1px;margin:12px 0 19px}
.faq details{border-color:#ece8df}
.faq details:last-child{border-bottom:0}
.faq summary{font-size:13px;font-weight:500;line-height:1.7;padding:20px 0;gap:18px}
.faq summary>span{width:25px;height:25px;background:#f1f2e9;color:#79806d}
.faq details>p{font-size:12px;line-height:1.9;color:#84887c;margin-bottom:23px}
footer{margin-top:34px;padding-top:25px;line-height:1.8;color:#96978c;border-color:#eae6dd}
.download-dock{border-radius:26px;padding:14px 17px;gap:14px;border:1px solid #ffffffed;background:#fffefbf7;box-shadow:0 13px 38px #263e2c1a,0 2px 7px #263e2c06;bottom:calc(14px + env(safe-area-inset-bottom,0px));max-width:780px}
.app-icon{width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,#fffdf9,#fbf2e9);border-color:#efe6da;box-shadow:inset 0 1px 0 #fff}
.app-icon .brand-mark{width:28px;height:28px}
.dock-copy{gap:3px}.dock-copy strong{font-size:24px;line-height:1.15;font-weight:700;letter-spacing:-.8px}.dock-copy>span{font-size:11px;line-height:1.65;color:#898c80}
@media(min-width:800px){.nearby-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.nearby-grid .profile-info{padding:17px 15px 20px}.nearby-grid h3{font-size:18px}.nearby-grid .location{font-size:11px}}
@media(max-width:600px){
 .page{padding-inline:20px}.header{height:72px}.header-download{padding:12px 15px;font-size:12px;border-radius:12px}
 .hero-copy{min-height:395px;padding:30px 0}.hero-portrait{height:395px}.hero-copy h1{font-size:clamp(35px,8vw,46px);line-height:1.1;letter-spacing:-1.7px}.hero-copy .eyebrow{font-size:7px;letter-spacing:1.05px;margin-bottom:21px;line-height:1.8}.hero-copy p{font-size:12px;line-height:1.85;margin:23px 0 24px;max-width:51%}.hero-copy .hero-download{padding:17px 19px;font-size:12px;border-radius:15px}
 .featured-heading{margin:17px 0 18px;font-size:11px}.featured{gap:13px;padding-bottom:14px}.profile{border-radius:20px}.profile .portrait{border-radius:19px 19px 0 0}.profile .profile-info{padding:16px 15px 19px;min-height:87px}.profile h3{font-size:18px;line-height:1.45;margin-bottom:8px}.profile .location{font-size:11px;line-height:1.6}.profile-featured .profile-info{padding:13px 12px 16px;min-height:81px}.profile-featured h3{font-size:15px;letter-spacing:-.35px}.profile-featured .location{font-size:9px;line-height:1.65}.profile-featured .location svg{width:11px;height:12px}
 .nearby-grid{gap:17px 14px}.section-heading{margin-top:29px;margin-bottom:22px;padding-top:27px}.section-heading h2{font-size:29px;line-height:1.3;letter-spacing:-1px}.section-heading>span{font-size:10px}
 .how-it-works{margin-top:36px;padding:26px 23px;gap:27px;border-radius:23px}.how-intro h2{font-size:30px;line-height:1.25;margin:14px 0 17px}.how-intro>p{font-size:12px}.steps{gap:24px}.steps h3{font-size:13px;line-height:1.6}.steps p{font-size:11px;line-height:1.9}.step-number{width:33px;height:33px;border-radius:11px}.steps article{gap:14px}
 .faq{margin-top:26px;padding:25px 22px 9px;border-radius:23px}.faq>h2{font-size:28px;line-height:1.35;margin:13px 0 16px}.faq summary{font-size:12px;line-height:1.8;padding:19px 0}.faq details>p{font-size:11px;line-height:1.95;margin-right:0}.section-kicker{font-size:8px;letter-spacing:1.6px}
 .download-dock{padding:12px;gap:10px;border-radius:23px;width:calc(100% - 24px)}.app-icon{width:43px;height:43px;border-radius:14px}.app-icon .brand-mark{width:25px;height:25px}.dock-copy strong{font-size:21px}.dock-copy>span{font-size:9px;line-height:1.6}.dock-button{font-size:12px;padding:17px 15px;border-radius:15px;gap:10px}.dock-button svg{width:17px;height:17px}footer{font-size:9px;gap:10px;margin-top:29px}
}
@media(max-width:440px){.featured{grid-auto-columns:44%}.profile-featured h3{font-size:16px}.profile-featured .location{font-size:10px}.dock-copy>span{max-width:107px}}
@media(max-width:360px){.page{padding-inline:16px}.hero-copy h1{font-size:34px}.hero-copy .eyebrow{font-size:6px}.hero-copy p{font-size:11px}.hero-copy .hero-download{font-size:11px;padding:16px}.profile .profile-info{padding:14px 12px 17px}.profile h3{font-size:16px}.dock-copy>span{font-size:8px;max-width:86px}.dock-button{font-size:11px;padding:16px 12px;gap:7px}.app-icon{width:36px;height:39px}.download-dock{gap:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* User-supplied narrow portraits: keep proportions and frame the face first. */
.profile .portrait[style*="assets/people/"]{background-size:cover;background-position:center 18%;background-repeat:no-repeat}

/* Six featured portraits, browsable by touch or the keyboard. */
.featured{
 display:grid;grid-template-columns:none;grid-auto-flow:column;
 grid-auto-columns:calc((100% - 48px)/3.2);
 gap:18px;overflow-x:auto;overflow-y:hidden;
 scroll-snap-type:x mandatory;scroll-padding-inline:2px;
 padding:3px 2px 16px;overscroll-behavior-x:contain;
 scrollbar-width:thin;scrollbar-color:#d9c6b3 transparent;
}
.featured .profile{scroll-snap-align:start;min-width:0}
.featured::-webkit-scrollbar{height:4px;display:block}
.featured::-webkit-scrollbar-thumb{background:#d9c6b3;border-radius:8px}
.featured .profile-photo-only .portrait{flex:1;aspect-ratio:auto;min-height:230px;border-radius:inherit}
@media(max-width:600px){.featured{grid-auto-columns:42%;gap:13px}.featured .profile-photo-only .portrait{min-height:220px}}

/* Hide the scrollbar while retaining native touch and keyboard scrolling. */
.featured{scrollbar-width:none;-ms-overflow-style:none}
.featured::-webkit-scrollbar{display:none;width:0;height:0}
.featured.is-auto-scrolling{scroll-snap-type:none;scroll-behavior:auto}

/* Approved forest-green install panel, condensed for a floating mobile dock. */
.download-dock{
 background:linear-gradient(115deg,#164f40 0%,#103e33 55%,#0b332c 100%);
 border:1px solid #427b624d;
 border-top-color:#70a88d80;
 border-radius:25px;
 padding:18px 22px;
 gap:16px;
 box-shadow:0 12px 32px #103e332b,inset 0 1px 0 #ffffff0c;
 overflow:hidden;
 isolation:isolate;
}
.download-dock:after{
 content:'♡';position:absolute;right:24px;top:-50px;font-family:Georgia,serif;
 font-size:190px;line-height:1;color:#acd0b81a;transform:rotate(-13deg);
 z-index:-1;pointer-events:none;
}
.download-dock .app-icon{
 width:44px;height:50px;background:none;border:0;box-shadow:none;border-radius:0;
}
.download-dock .app-icon .brand-mark{width:30px;height:30px}
.download-dock .dock-copy{gap:6px}
.download-dock .dock-copy strong{color:#fffcf3;font-size:21px;line-height:1;letter-spacing:1.8px;font-weight:600}
.download-dock .dock-copy>span{color:#e1eadb;font-size:13px;line-height:1.5;max-width:230px}
.download-dock .dock-button{
 background:linear-gradient(175deg,#ff7825,#f25c22 85%);
 border:1px solid #ff9b4c55;border-radius:17px;color:#fffdf5;
 padding:18px 23px;font-size:15px;gap:13px;flex:none;
 box-shadow:inset 0 1px 0 #ffffff25,0 3px 8px #001e2526;
}
.download-dock .dock-button:hover{background:linear-gradient(175deg,#ff8233,#f2662c)}
@media(max-width:600px){
 .download-dock{padding:14px 15px;gap:11px;border-radius:22px;width:calc(100% - 24px)}
 .download-dock .app-icon{width:30px;height:43px}
 .download-dock .app-icon .brand-mark{width:25px;height:25px}
 .download-dock .dock-copy{gap:5px}
 .download-dock .dock-copy strong{font-size:17px;letter-spacing:1.3px}
 .download-dock .dock-copy>span{font-size:10px;max-width:142px;line-height:1.45}
 .download-dock .dock-button{font-size:12px;padding:16px 16px;border-radius:14px;gap:9px}
 .download-dock:after{font-size:150px;right:5px;top:-31px}
}
@media(max-width:360px){
 .download-dock{padding:13px 12px;gap:9px}
 .download-dock .app-icon{width:24px}
 .download-dock .app-icon .brand-mark{width:22px;height:22px}
 .download-dock .dock-copy>span{font-size:9px;max-width:107px}
 .download-dock .dock-button{font-size:11px;padding:15px 12px;gap:7px}
}

/* Tactile orange install button: restrained lighting and a physical lower edge. */
.download-dock .dock-button{
 position:relative;
 isolation:isolate;
 overflow:hidden;
 background:linear-gradient(180deg,#ff9843 0%,#ff7c26 20%,#f8681c 58%,#ee5616 100%);
 border:1px solid #ffac596b;
 border-top-color:#ffc17c;
 border-bottom-color:#c6430c;
 text-shadow:0 1px 1px #b6402240;
 box-shadow:inset 0 1px 0 #fff0c878,inset 0 -2px 0 #d94b124d,0 4px 0 #b53c11,0 8px 12px #001e2940,0 2px 18px #ff7b201c;
 transform:translateY(-2px);
 transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.download-dock .dock-button:before{
 content:'';position:absolute;inset:1px 1px auto;height:43%;border-radius:inherit;
 background:linear-gradient(180deg,#fff3d431,#fff3d400);
 pointer-events:none;z-index:-1;
}
.download-dock .dock-button svg{
 filter:drop-shadow(0 1px 1px #b6402240);
}
@media(hover:hover){.download-dock .dock-button:hover{
 background:linear-gradient(180deg,#ffa150,#ff822d 22%,#fc6d21 65%,#ef5b19);
 transform:translateY(-3px);
 box-shadow:inset 0 1px 0 #fff0c888,inset 0 -2px 0 #d94b124d,0 5px 0 #b53c11,0 10px 16px #001e2945,0 2px 20px #ff7b2024;
}}
.download-dock .dock-button:active{
 transform:translateY(1px);
 box-shadow:inset 0 1px 0 #fff0c850,inset 0 -1px 0 #d94b124d,0 1px 0 #b53c11,0 3px 7px #001e2933;
}

/* Rebalance the longer French hero copy without changing its wording. */
.hero-copy{min-height:460px;padding:32px 0 30px;justify-content:center}
.hero-copy h1{font-size:clamp(36px,5.3vw,57px);line-height:1.12;letter-spacing:-1.9px;max-width:72%;margin:0;text-wrap:balance}
.hero-copy p{max-width:45%;font-size:14px;line-height:1.8;margin:22px 0 24px;text-wrap:pretty}
.hero-copy .eyebrow{margin-bottom:22px;letter-spacing:1.15px;font-size:8px}
@media(max-width:600px){
 .hero-copy{min-height:395px;padding:26px 0 25px;justify-content:center}
 .hero-copy h1{font-size:clamp(29px,6.8vw,39px);line-height:1.14;letter-spacing:-1.15px;max-width:94%;text-wrap:initial}
 .hero-copy p{max-width:53%;font-size:11px;line-height:1.85;margin:20px 0 22px}
 .hero-copy .eyebrow{font-size:6.5px;letter-spacing:.8px;margin-bottom:19px;max-width:90%;line-height:1.8}
 .hero-copy .hero-download{padding:16px 18px;font-size:12px}
}
@media(max-width:380px){.hero-copy h1{font-size:27px;letter-spacing:-.9px}.hero-copy p{font-size:10px;max-width:55%}.hero-copy .eyebrow{font-size:6px;letter-spacing:.65px}}

/* Continuous GPU-composited track; native scrolling remains available on press. */
.featured.is-looping{display:block;scroll-snap-type:none;scroll-behavior:auto;padding-inline:0;overflow-x:auto;overflow-y:hidden;direction:ltr}
.gallery-track{position:relative;display:flex;align-items:stretch;gap:var(--loop-gap,13px);width:max-content;will-change:transform}
.gallery-track>.profile{flex:0 0 var(--loop-card-width);width:var(--loop-card-width);scroll-snap-align:none}
