:root{--paper:#f6f3ed;--ink:#28271f;--muted:#767268;--line:#dedad0;--brown:#74513b;--brown-dark:#563b2b;--sand:#ebe5d9;--pale:#eeeae1;--white:#fcfbf8;--olive:#79816b;--font:'Manrope',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,label{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}button,figure,p,h1,h2,h3{margin:0}button{border:0}img{display:block;max-width:100%}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.section-shell{width:calc(100% - 112px);max-width:1328px;margin:0 auto}.section-pad{padding-top:92px;padding-bottom:92px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;display:flex;align-items:center;gap:9px;line-height:1.6}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--olive);flex-shrink:0}.site-header{height:94px;max-width:1440px;padding:0 56px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.wordmark{font-family:'Inter','Manrope',Arial,sans-serif;font-size:48px;letter-spacing:-3.5px;font-weight:700;line-height:1;position:relative;display:inline-flex;align-items:center;gap:4px}.wordmark-star{font-size:30px;line-height:1;letter-spacing:0;margin-left:1px;margin-top:-4px}.studio-tag{font-size:8px;letter-spacing:2px;position:absolute;left:3px;bottom:-12px;font-weight:700}.desktop-nav{display:flex;align-items:center;gap:35px;font-size:12px;font-weight:500;margin-left:25px}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:4px;width:0;height:1px;background:var(--brown);transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--ink);padding:12px 17px;font-weight:600;font-size:12px;border-radius:3px}.header-contact:hover{background:var(--sand)}.menu-toggle{display:none}.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:54px;padding-top:51px;padding-bottom:54px;min-height:645px;align-items:center}.hero-copy{padding-bottom:2px}.hero h1{font-size:clamp(64px,6.9vw,104px);letter-spacing:-6px;font-weight:500;line-height:1.01;margin-top:26px;margin-bottom:26px}.hero h1 em{font-family:var(--serif);font-weight:400;color:var(--brown);font-size:1.2em;letter-spacing:-4px}.hero-description{font-size:14px;color:var(--muted);line-height:1.95}.hero-description i{font-family:var(--serif);font-size:19px;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:48px;padding:13px 20px;font-size:12px;font-weight:600;border-radius:3px;transition:background .2s,transform .2s}.button-primary{background:var(--brown);color:#fffaf4}.button-primary:hover{background:var(--brown-dark);transform:translateY(-2px)}.text-link{font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:20px;line-height:2}.text-link:hover{color:var(--brown)}.hero-footnote{display:flex;align-items:center;gap:14px;margin-top:43px;font-size:10px;line-height:1.9;color:var(--muted)}.hero-footnote b{font-weight:500;color:var(--ink)}.asterisk{font-size:34px;color:var(--brown);line-height:1}.hero-art{position:relative;padding:0 0 16px 35px;isolation:isolate}.image-note{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.3px;font-weight:600;padding-bottom:12px}.main-photo{position:relative;height:484px;overflow:hidden;background:var(--sand);border-radius:3px 3px 0 0}.main-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.78)}.main-photo:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,rgba(34,24,16,.56));pointer-events:none}.main-photo figcaption{position:absolute;bottom:24px;left:25px;right:25px;z-index:1;display:flex;align-items:center;justify-content:space-between;color:#fff7ea;font-family:var(--serif);font-style:italic;font-size:33px}.portrait-note{position:absolute;left:-7px;bottom:64px;transform:rotate(-8deg);background:#fdfaf3;padding:8px 8px 0;width:142px;box-shadow:0 8px 24px #34261b30;z-index:2}.portrait-note img,.portrait-note>div{height:145px;width:100%;object-fit:cover}.portrait-note span{font-size:6px;letter-spacing:1.05px;display:block;padding:10px 0 11px;text-align:center;font-weight:700}.art-index{position:absolute;bottom:-5px;right:0;font-size:7px;letter-spacing:1.5px;color:var(--muted)}.discipline-strip{height:66px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:39px;font-size:12px;font-weight:500;overflow:hidden;white-space:nowrap}.discipline-strip i{font-style:normal;font-size:24px;font-weight:400;color:var(--brown)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:38px}h2{font-size:44px;line-height:1.15;font-weight:500;letter-spacing:-1.8px}h2 em{font-family:var(--serif);font-weight:400;font-size:1.18em;color:var(--brown);letter-spacing:-.8px}.section-heading .eyebrow{margin-bottom:16px}.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted);padding-bottom:3px}.package-builder{border:1px solid var(--line);border-radius:7px;display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden;background:var(--white)}.builder-controls{padding:33px 38px 32px}.builder-step+.builder-step{margin-top:27px}.step-title{display:flex;align-items:flex-start;gap:14px;margin-bottom:19px}.step-number{background:var(--pale);width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;margin-top:2px}.step-title h3{font-weight:600;font-size:15px;letter-spacing:-.3px}.step-title p{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.6}.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-left:39px}.service-choice{position:relative;display:flex;align-items:center;gap:11px;padding:14px 11px;background:var(--paper);border:1px solid var(--line);border-radius:3px;font-size:10px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}.service-choice>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.service-choice:has(input:checked){background:#eee5d9;border-color:#a88c75;color:var(--brown-dark)}.service-choice:has(input:focus-visible){outline:2px solid var(--brown);outline-offset:3px}.service-choice>.icon{width:17px;height:17px}.choice-check{margin-left:auto;width:14px;height:14px;border:1px solid #bfb9ae;border-radius:3px;display:flex;align-items:center;justify-content:center}.choice-check .icon{display:none;width:10px;height:10px;stroke-width:2.5}.service-choice:has(input:checked) .choice-check{background:var(--brown);border-color:var(--brown);color:white}.service-choice:has(input:checked) .choice-check .icon{display:block}.range-block{padding-left:39px}.range-block+.range-block{margin-top:24px}.range-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;font-weight:600;margin-bottom:13px}.range-label output{font-size:10px;padding:5px 9px;background:var(--pale);border-radius:3px;color:var(--brown)}.range-ticks{height:11px;margin:5px 3px 8px;background:repeating-linear-gradient(to right,transparent 0,transparent 7px,#cec6b9 7px,#cec6b9 8px)}.styled-range{--fill:0%;width:100%;height:4px;margin:5px 0 12px;border-radius:5px;background:linear-gradient(to right,var(--brown) var(--fill),#ded9d0 var(--fill));appearance:none;-webkit-appearance:none;cursor:pointer;display:block}.styled-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;background:var(--white);border:1px solid #b7a997;border-radius:50%;box-shadow:0 2px 5px #42301f12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3E%3Cpath d='m9 8-3 3 3 3m4-6 3 3-3 3' fill='none' stroke='%2374513b' stroke-width='1'/%3E%3C/svg%3E")}.styled-range::-moz-range-thumb{width:23px;height:23px;background:var(--white);border:1px solid #b7a997;border-radius:50%;box-shadow:0 2px 5px #42301f12}.styled-range:focus-visible{outline-offset:10px}.range-limits{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);margin-top:10px}.range-help{font-size:9px;line-height:1.6;color:var(--muted);margin-top:11px}.second-range{margin-top:20px}.extras{display:flex;flex-wrap:wrap;gap:7px;padding-left:39px}.extras label{position:relative;cursor:pointer}.extras input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.extras label>span{display:block;padding:8px 9px;border:1px solid var(--line);border-radius:3px;font-size:8px;background:var(--paper)}.extras small{font-size:7px;color:var(--muted);margin-left:4px}.extras label:has(input:checked)>span{border-color:var(--brown);color:var(--brown-dark);background:#eee5d9}.extras label:has(input:focus-visible){outline:2px solid var(--brown);outline-offset:3px}.package-summary{background:var(--sand);padding:29px 34px 27px;border-left:1px solid var(--line);position:relative;display:flex;flex-direction:column}.summary-top{display:flex;align-items:center;justify-content:space-between}.summary-top .eyebrow{font-size:7px;letter-spacing:1px;color:var(--brown)}.summary-spark{width:25px;height:25px;stroke-width:1;color:var(--brown)}.billing-switch{display:flex;padding:4px;background:#f5f1e9;border:1px solid #dbd2c5;border-radius:4px;margin-top:19px;gap:4px}.billing-switch button{width:50%;padding:9px 5px;background:transparent;font-size:9px;border-radius:2px;color:var(--muted);white-space:nowrap}.billing-switch button[aria-pressed=true]{background:var(--white);box-shadow:0 1px 4px #4d392312;color:var(--ink);font-weight:700}.billing-switch button span{color:var(--brown);font-size:7px;margin-left:5px;background:#e8dfd1;border-radius:2px;padding:2px 3px}.summary-intro{margin-top:26px}.tiny-label{font-size:7px;letter-spacing:1.3px;color:var(--muted);font-weight:600}.summary-intro h3{font-size:31px;font-weight:500;letter-spacing:-1px;margin-top:8px}.summary-intro p{font-size:10px;color:var(--muted);margin-top:6px}.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:22px;line-height:1.2}.currency{font-size:16px;font-weight:500}.price strong{font-size:43px;letter-spacing:-2px;font-weight:600}.price-unit{font-size:9px;color:var(--muted);margin-left:3px}.price-note{font-size:9px;color:var(--muted);margin-top:8px}.summary-divider{height:1px;background:#d2c9ba;margin-top:21px}.summary-inclusions{list-style:none;padding:0;margin:17px 0 24px;font-size:10px;line-height:1.7}.summary-inclusions li{position:relative;padding-left:20px;margin-top:8px}.summary-inclusions li:before{content:'✓';position:absolute;left:0;color:var(--brown);font-size:12px}.summary-cta{width:100%;justify-content:space-between;margin-top:auto;min-height:47px}.no-pressure{text-align:center;font-size:8px;color:var(--muted);display:block;margin-top:12px}.estimate-disclaimer{font-size:8px;line-height:1.7;color:#777065;margin-top:19px}.package-bottom-note{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);margin-top:20px}.package-bottom-note>span{display:flex;align-items:center;gap:7px}.inline-link{padding:0;background:transparent;font-size:inherit;color:inherit;border-bottom:1px solid transparent;line-height:1.8}.inline-link:hover{border-color:currentColor}.services{background:var(--pale);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px}.service-card{padding:0 26px;border-right:1px solid #d7d0c4;display:flex;flex-direction:column}.service-card:first-child{padding-left:0}.service-card:last-child{padding-right:0;border:0}.service-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:37px}.service-card-top>.icon{width:27px;height:27px;stroke-width:1.1;color:var(--brown)}.service-card-top>span{font-size:9px;color:var(--muted)}.service-card h3{font-size:19px;letter-spacing:-.6px;font-weight:600;margin-bottom:13px}.service-card p{font-size:11px;line-height:1.95;color:var(--muted);margin-bottom:25px}.service-link{margin-top:auto;background:transparent;padding:0;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;text-align:left;font-weight:600}.service-link>.icon{width:16px;height:16px}.service-link:hover{color:var(--brown)}.work-grid{display:grid;grid-template-columns:1.22fr 1fr 1fr;gap:23px}.work-item{text-align:left;padding:0;background:none}.work-image{height:335px;overflow:hidden;position:relative;border-radius:3px;background:var(--sand)}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:saturate(.8)}.work-item:hover .work-image img{transform:scale(1.04)}.work-open{position:absolute;right:14px;bottom:14px;width:32px;height:32px;background:var(--paper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px}.work-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px}.work-caption h3{font-size:12px;font-weight:600;letter-spacing:-.2px}.work-caption>span{font-size:6px;letter-spacing:1px;color:var(--muted);white-space:nowrap}.work-footnote{font-size:9px;color:var(--muted);margin-top:25px;text-align:right}.team{background:var(--pale);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.team-intro{text-align:center}.team-intro .eyebrow{justify-content:center;margin-bottom:18px}.team-intro p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:20px}.team-tree{margin:40px auto 0;max-width:840px}.founders{display:flex;justify-content:center;gap:22px}.founder-card{display:flex;align-items:center;gap:17px;background:var(--paper);padding:24px;border:1px solid #d9d2c7;border-radius:4px;flex:1;max-width:335px;position:relative}.founder-avatar{width:56px;height:65px;flex:none;display:flex;align-items:center;justify-content:center;background:#d4bfa8;color:var(--brown-dark);font-size:36px;font-family:var(--serif);font-style:italic;border-radius:28px 28px 3px 3px;position:relative}.founder-avatar>span{position:absolute;bottom:5px;right:7px;font-family:var(--font);font-size:6px;font-style:normal}.second-avatar{background:#c7cabc;color:#4f5a45}.founder-card h3{font-size:18px;font-weight:500;letter-spacing:-.5px;margin-top:5px}.founder-card p{font-size:8px;color:var(--muted);margin-top:7px}.founder-mark{position:absolute;right:14px;top:13px;font-size:14px;color:var(--muted)}.tree-stem{height:34px;border-left:1px solid #c9bfaf;width:1px;margin:0 auto}.buddy-label{text-align:center;font-size:7px;letter-spacing:2px;color:var(--muted);position:relative}.buddy-branches{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-top:26px}.buddy-branches:before{content:'';position:absolute;top:0;left:12.5%;right:12.5%;height:1px;background:#c9bfaf}.buddy-branches:after{content:'';position:absolute;top:-18px;left:50%;height:18px;width:1px;background:#c9bfaf}.buddy{padding:30px 8px 0;position:relative;background:none;display:flex;align-items:center;flex-direction:column}.buddy:before{content:'';position:absolute;left:50%;top:0;height:30px;width:1px;background:#c9bfaf}.buddy-avatar{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:1px dashed #b4a48f;font-family:var(--serif);font-size:28px;color:var(--brown);background:var(--paper);transition:background .2s}.buddy:hover .buddy-avatar{background:#e3d8c7}.buddy h3{font-size:12px;font-weight:600;margin-top:14px}.buddy>span:last-child{font-size:6px;letter-spacing:1px;color:var(--muted);margin-top:7px}.join-avatar{font-family:var(--font);font-size:23px;font-weight:400}.team-note{text-align:center;color:var(--muted);font-size:9px;line-height:1.9;margin-top:36px}.team-note .inline-link{font-size:10px;color:var(--brown);margin-top:9px}.contact{padding-bottom:67px}.contact>.eyebrow{margin-bottom:22px}.contact-row{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.contact h2{font-size:59px;line-height:1.12;letter-spacing:-2.4px}.contact-right{padding-bottom:8px}.contact-right p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:23px}.contact-right .button{gap:13px}.contact-right>span{display:block;font-size:8px;color:var(--muted);margin-top:13px}.visitors{border:1px solid var(--line);padding:23px 26px;border-radius:4px;background:#f1eee7;margin-bottom:58px}.visitor-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.visitor-heading>span:first-child{font-size:8px;letter-spacing:1.3px;color:var(--muted);display:flex;gap:9px;align-items:center}.visitor-heading .icon{width:15px;height:15px}.demo-tag{font-size:6px;letter-spacing:1px;border:1px solid #c5baa7;color:var(--brown);padding:4px 6px;white-space:nowrap;border-radius:2px}.visitor-countries{display:flex;gap:8px;flex-wrap:wrap}.visitor-countries>span{display:inline-flex;align-items:center;gap:7px;font-size:8px;padding:8px 10px;background:var(--white);border:1px solid #e1ddd4;border-radius:3px}.visitor-countries b{font-size:7px;color:var(--brown);font-weight:700}.visitor-countries small{font-size:8px;color:var(--muted);padding-left:3px}.visitors>p{font-size:8px;color:var(--muted);margin-top:14px;line-height:1.7}.footer{border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;padding:38px 0 34px;gap:44px}.footer-logo{font-size:48px}.footer-logo .wordmark-star{font-size:26px}.footer-top>p{font-size:9px;line-height:1.9;color:var(--muted)}.footer-links{margin-left:auto;display:flex;gap:25px;font-size:9px}.footer-links a:hover{color:var(--brown)}.back-top{width:31px;height:31px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:18px}.footer-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:19px 0 25px;color:var(--muted);font-size:8px}.site-dialog{border:1px solid var(--line);border-radius:6px;padding:42px;background:var(--paper);color:var(--ink);width:min(650px,calc(100% - 32px));max-height:90dvh;overflow-y:auto;box-shadow:0 25px 100px #281c1833}.site-dialog::backdrop{background:#231b1470;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--sand)}.site-dialog h2{font-size:36px;margin:15px 0}.site-dialog>p{font-size:12px;line-height:1.9;color:var(--muted);margin:14px 0}.dialog-intro{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:22px}#inquiry-form label{display:block;font-size:11px;font-weight:600}#inquiry-form label>span{font-size:9px;font-weight:400;color:var(--muted)}#inquiry-form input,#inquiry-form textarea{width:100%;display:block;border:1px solid #ccc2b3;border-radius:3px;background:var(--white);padding:12px;margin-top:8px;margin-bottom:18px;font-size:11px;color:var(--ink)}#inquiry-form textarea{resize:vertical}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inquiry-preview{padding:15px;background:var(--sand);border-radius:3px;font-size:10px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto}.connection-note{font-size:10px;line-height:1.8;margin:15px 0;color:var(--brown)}#inquiry-submit{width:100%;justify-content:space-between}.form-privacy{font-size:9px;color:var(--muted);line-height:1.7;margin-top:14px}.inquiry-copy{display:block;width:100%;min-height:44px;margin-top:12px;background:transparent;font-size:10px;color:var(--muted);line-height:1.7}.inquiry-copy:hover{color:var(--brown)}.project-dialog{width:min(820px,calc(100% - 32px));padding:35px}.project-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.project-dialog-grid>img{width:100%;max-height:460px;object-fit:cover;border-radius:3px}.project-dialog h2{font-size:38px}.project-dialog p{font-size:12px;line-height:1.8;color:var(--muted);margin:20px 0}.project-dialog .project-source{font-size:9px}.project-dialog .button{font-size:10px;padding:12px;gap:15px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:99;background:var(--sand);color:var(--ink);border:1px solid #baa88f;box-shadow:0 4px 25px #00000015;border-radius:4px;padding:14px 20px;font-size:11px;max-width:calc(100% - 32px);text-align:center}.noscript-notice{background:var(--sand);padding:16px;text-align:center;font-size:12px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--white);padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:2px solid var(--brown);outline-offset:5px}@media(min-width:1500px){.hero{min-height:710px;gap:95px}.main-photo{height:535px}.hero h1{font-size:108px}.hero-description{font-size:16px}.hero-art{padding-left:30px}}@media(max-width:1150px){.section-shell{width:calc(100% - 72px)}.site-header{padding:0 36px}.hero{gap:30px;min-height:595px}.hero h1{font-size:77px;letter-spacing:-4px}.main-photo{height:435px}.hero-actions{gap:18px}.hero-actions .button{font-size:10px;padding:13px 15px;gap:15px}.hero-actions .text-link{font-size:10px;gap:10px}.discipline-strip{gap:23px;font-size:10px}.builder-controls{padding:30px 25px}.package-summary{padding:27px}.service-choice{gap:7px;padding:13px 9px;font-size:9px}.price strong{font-size:38px}.service-card{padding:0 19px}.work-caption{align-items:flex-start;flex-direction:column;gap:5px}.work-image{height:310px}.footer-top{gap:26px}.footer-links{gap:17px}.contact h2{font-size:53px}}@media(max-width:900px){.section-shell{width:calc(100% - 48px)}.site-header{padding:0 24px;height:82px}.desktop-nav{gap:22px;font-size:11px}.wordmark{font-size:40px}.wordmark-star{font-size:25px}.header-contact{gap:20px;font-size:10px;padding:10px 13px}.hero{gap:25px;min-height:570px}.hero h1{font-size:65px}.hero-description{font-size:12px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.hero-footnote{margin-top:28px}.main-photo{height:410px}.portrait-note{width:113px;left:-8px;bottom:47px;padding:6px 6px 0}.portrait-note img{height:116px}.portrait-note span{font-size:4.5px;padding:8px 0}.image-note{font-size:5px}.main-photo figcaption{font-size:27px;left:20px;right:20px}.section-pad{padding-top:70px;padding-bottom:70px}h2{font-size:37px}.section-heading>p{font-size:10px}.package-builder{grid-template-columns:1.1fr 1fr}.builder-controls{padding:25px 18px}.package-summary{padding:25px 22px}.service-choices,.range-block,.extras{padding-left:0}.step-title{gap:9px}.step-title h3{font-size:13px}.step-title p{font-size:9px}.service-choice{font-size:8px}.service-choice>.icon{width:14px;height:14px}.price strong{font-size:34px}.summary-top .eyebrow{font-size:6px}.summary-intro h3{font-size:27px}.summary-cta{font-size:10px;gap:15px;padding:12px 15px}.billing-switch button{font-size:8px}.services-grid{gap:0}.service-card{padding:0 14px}.service-card h3{font-size:16px}.service-card p{font-size:10px}.service-link{font-size:8px;gap:6px}.work-grid{gap:16px}.work-image{height:265px}.founder-card{padding:20px;gap:12px}.contact h2{font-size:45px}.contact-right p{font-size:11px}.contact-right .button{font-size:10px}.footer-links{gap:13px;font-size:8px}.footer-top{gap:22px}.footer-top>p{font-size:8px}}@media(max-width:680px){html{scroll-padding-top:24px}.section-shell{width:calc(100% - 40px)}.site-header{height:80px;padding:0 20px}.wordmark{font-size:40px}.studio-tag{font-size:6px;bottom:-10px}.desktop-nav{display:none}.header-contact{margin-left:auto;margin-right:22px;gap:17px;padding:9px 12px}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;background:transparent;padding:10px 0 10px 8px;width:30px;height:40px}.menu-toggle span{width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:80px;padding:16px 25px 25px;background:var(--paper);border-bottom:1px solid var(--line);z-index:20;box-shadow:0 20px 30px #2820100a}.mobile-nav a{font-size:18px;padding:13px 0;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;gap:37px;padding-top:39px;padding-bottom:38px}.hero h1{font-size:clamp(69px,15vw,100px);margin:24px 0 20px;letter-spacing:-4px}.hero h1 em{letter-spacing:-3px}.hero .eyebrow{font-size:7px;letter-spacing:1.2px}.hero-description{font-size:12px;line-height:1.95}.hero-description br.desktop-break{display:none}.hero-actions{flex-direction:row;align-items:center;gap:24px;margin-top:24px}.hero-actions .button{font-size:9px;gap:15px;padding:13px 14px;min-height:44px}.hero-actions .text-link{font-size:9px;gap:9px}.hero-footnote{margin-top:28px;font-size:8px;gap:10px}.asterisk{font-size:29px}.hero-art{padding-left:24px;margin-left:10px;margin-right:0;padding-bottom:16px}.main-photo{height:390px}.main-photo>img{object-position:center 42%}.image-note{font-size:6px;letter-spacing:1.1px}.portrait-note{width:126px;left:-19px;bottom:53px}.portrait-note img{height:133px}.portrait-note span{font-size:5.5px}.main-photo figcaption{font-size:30px;bottom:20px;left:27px}.art-index{font-size:6px;bottom:-1px;letter-spacing:1.2px}.discipline-strip{justify-content:flex-start;padding:0 20px;height:54px;gap:23px;font-size:10px}.discipline-strip i{font-size:22px}.section-pad{padding-top:59px;padding-bottom:59px}.section-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:27px}.section-heading .eyebrow{font-size:7px;margin-bottom:14px}.section-heading>p{font-size:11px}.section-heading>p br{display:none}h2{font-size:34px;letter-spacing:-1.3px}h2 em{letter-spacing:-.5px}.package-builder{grid-template-columns:1fr}.builder-controls{padding:26px 21px 28px}.step-title h3{font-size:14px}.step-title p{font-size:10px}.step-title{gap:12px;margin-bottom:18px}.step-number{width:24px;height:24px;font-size:8px}.service-choices{gap:9px}.service-choice{font-size:10px;padding:14px 10px;gap:8px}.service-choice>.icon{width:17px;height:17px}.choice-check{width:13px;height:13px}.builder-step+.builder-step{margin-top:29px}.range-label{font-size:11px}.range-label output{font-size:10px}.range-limits{font-size:8px}.range-ticks{margin-top:16px}.second-range{margin-top:24px}.extras{gap:8px}.extras label>span{padding:9px 10px;font-size:8px}.extras small{font-size:7px}.package-summary{border-left:0;border-top:1px solid var(--line);padding:25px 25px 27px}.summary-top .eyebrow{font-size:7px}.billing-switch{margin-top:18px}.billing-switch button{font-size:10px;padding:10px 8px}.billing-switch button span{font-size:8px}.summary-intro{margin-top:24px}.tiny-label{font-size:7px}.summary-intro h3{font-size:33px}.summary-intro p{font-size:11px}.price strong{font-size:43px}.price-unit{font-size:10px}.price-note{font-size:10px}.summary-inclusions{font-size:11px;margin-bottom:25px}.summary-inclusions li{margin-top:10px}.summary-cta{font-size:12px;min-height:47px}.no-pressure{font-size:8px}.estimate-disclaimer{font-size:8px;margin-top:16px}.package-bottom-note{align-items:flex-start;flex-direction:column;gap:10px;font-size:8px;line-height:1.8}.services-grid{grid-template-columns:1fr 1fr;gap:31px 0;margin-top:30px}.service-card{padding:0 15px}.service-card:nth-child(2){padding-right:0;border:0}.service-card:nth-child(3){padding-left:0}.service-card-top{margin-bottom:24px}.service-card-top>.icon{width:26px;height:26px}.service-card h3{font-size:17px}.service-card p{font-size:10px;line-height:1.85;margin-bottom:18px}.service-link{font-size:8px}.work .section-heading{gap:15px}.work .text-link{font-size:10px}.work-grid{grid-template-columns:1fr 1fr;gap:25px 14px}.work-item:first-child{grid-column:1/-1}.work-image{height:210px}.work-item:first-child .work-image{height:320px}.work-item:first-child .work-image img{object-position:center 48%}.work-caption h3{font-size:11px}.work-caption>span{font-size:6px}.work-caption{padding-top:12px;gap:7px}.work-footnote{font-size:8px;margin-top:21px;text-align:left}.team-intro .eyebrow{font-size:7px}.team-intro p{font-size:11px}.desktop-break{display:none}.team-tree{margin-top:30px}.founders{gap:10px}.founder-card{padding:20px 13px 17px;flex-direction:column;align-items:flex-start;gap:13px}.founder-card h3{font-size:17px}.founder-card p{font-size:7px;line-height:1.8}.founder-card .tiny-label{font-size:6px}.founder-avatar{width:50px;height:59px;font-size:33px}.founder-mark{right:10px;top:10px}.buddy-branches{grid-template-columns:repeat(2,1fr);row-gap:24px;margin-top:22px}.buddy-branches:before{left:25%;right:25%}.buddy-branches:after{top:-14px;height:14px}.buddy:nth-child(n+3):before{height:23px;top:0}.buddy{padding:25px 5px 0}.buddy:before{height:25px}.buddy h3{font-size:11px}.buddy>span:last-child{font-size:6px;letter-spacing:.8px}.buddy-avatar{width:48px;height:48px}.team-note{font-size:8px;margin-top:28px}.team-note .inline-link{font-size:9px}.contact>.eyebrow{font-size:7px;letter-spacing:1.1px}.contact-row{flex-direction:column;align-items:flex-start;gap:26px}.contact h2{font-size:46px;letter-spacing:-2px}.contact-right p{font-size:12px;margin-bottom:20px}.contact-right .button{font-size:11px;gap:15px}.contact-right>span{font-size:8px}.visitors{padding:20px 17px;margin-bottom:37px}.visitor-heading{gap:10px}.visitor-heading>span:first-child{font-size:6px;letter-spacing:.8px;gap:7px}.visitor-heading .icon{width:14px;height:14px}.demo-tag{font-size:5px;padding:4px}.visitor-countries{gap:6px}.visitor-countries>span{font-size:7px;padding:7px;gap:5px}.visitor-countries b,.visitor-countries small{font-size:7px}.visitors>p{font-size:7px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:19px;padding:29px 0}.footer-logo{font-size:45px}.footer-top>p{font-size:9px;grid-column:1;grid-row:2}.footer-links{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:1fr;gap:12px;margin:0;font-size:9px}.back-top{display:none}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:11px;padding:18px 0 22px;font-size:7px}.footer-bottom>span:nth-child(2){grid-column:1;grid-row:2}.footer-bottom button{grid-column:2;grid-row:1}.site-dialog{padding:35px 23px 25px}.site-dialog .eyebrow{font-size:7px;max-width:90%}.site-dialog h2{font-size:29px}.form-two{grid-template-columns:1fr;gap:0}.site-dialog .dialog-intro{font-size:11px}.dialog-close{right:11px;top:11px;width:28px;height:28px}.project-dialog-grid{grid-template-columns:1fr;gap:25px}.project-dialog-grid>img{max-height:300px;width:100%;object-fit:cover}.project-dialog h2{font-size:32px}.project-dialog p{font-size:11px;margin:15px 0}.project-dialog .button{font-size:10px}}@media(max-width:360px){.section-shell{width:calc(100% - 32px)}.site-header{padding:0 16px}.hero h1{font-size:65px}.hero-actions{gap:15px}.hero-actions .button{font-size:8px;gap:10px}.hero-actions .text-link{font-size:8px}.main-photo{height:345px}.builder-controls{padding:24px 16px}.package-summary{padding:23px 19px}.service-choice{font-size:9px}.contact h2{font-size:41px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{.site-header,.hero-actions,.discipline-strip,.dialog-close,.toast,.back-top{display:none}.section-shell{width:100%}.section-pad{padding:25px 0}body{font-size:12px}.package-builder{break-inside:avoid}.work-image{height:200px}.site-dialog{display:none}.footer-links{display:none}}

/* Mobile resilience: safe areas, flexible tracks and no desktop-only dependencies. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
img { height: auto; }
.hero > *, .package-builder > *, .section-heading > *, .work-grid > *,
.services-grid > *, .contact-row > *, .founders > *, .footer-top > *,
.form-two > *, .project-dialog-grid > * { min-width: 0; }
.hero { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr); }
.package-builder { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.site-dialog { max-height: 90vh; max-height: 90dvh; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.site-dialog:not([open]) { display: none; }
.inquiry-preview { -webkit-user-select: text; user-select: text; }
.service-choice.is-selected { background: #eee5d9; border-color: #a88c75; color: var(--brown-dark); }
.service-choice.is-selected .choice-check { background: var(--brown); border-color: var(--brown); color: white; }
.service-choice.is-selected .choice-check .icon { display: block; }
.service-choice:focus-within, .extras label:focus-within { outline: 2px solid var(--brown); outline-offset: 3px; }
.extras label.is-selected > span { border-color: var(--brown); color: var(--brown-dark); background: #eee5d9; }
.dialog-fallback[open] { display: block; position: fixed; z-index: 101; top: 50%; left: 50%; margin: 0; transform: translate(-50%, -50%); }
.dialog-fallback-scrim { position: fixed; inset: 0; z-index: 100; background: #231b1470; }
@media (max-width: 900px) and (min-width: 681px) {
  .hero { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); }
  .package-builder { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .hero h1 { font-size: clamp(48px, 7vw, 65px); letter-spacing: -3px; }
  .footer-top { flex-wrap: wrap; }
}
@media (max-width: 820px) {
  .package-builder { grid-template-columns: minmax(0, 1fr); }
  .package-summary { border-left: 0; border-top: 1px solid var(--line); }
  .service-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero h1 { font-size: clamp(48px, 13.8vw, 88px); letter-spacing: -3px; }
  .hero .eyebrow, .section-heading .eyebrow, .team-intro .eyebrow, .contact > .eyebrow { font-size: 9px; letter-spacing: 1px; }
  .hero-description, .section-heading > p, .team-intro p, .contact-right p { font-size: 14px; line-height: 1.8; }
  .hero-actions { flex-wrap: wrap; gap: 12px 20px; }
  .hero-actions .button, .hero-actions .text-link, .contact-right .button { font-size: 12px; }
  .hero-footnote { font-size: 10px; }
  .image-note { flex-wrap: wrap; gap: 5px 10px; }
  .main-photo { height: clamp(315px, 98vw, 490px); }
  .discipline-strip { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .discipline-strip > * { flex: none; }
  .button, .header-contact, .text-link, .service-link, .menu-toggle,
  .billing-switch button, .dialog-close, .footer a, .footer button { min-height: 44px; }
  .menu-toggle { width: 44px; flex-shrink: 0; align-items: center; padding: 10px; }
  .dialog-close { width: 44px; height: 44px; }
  .header-contact { margin-right: 10px; }
  .service-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-choice { font-size: 12px; min-height: 52px; gap: 7px; }
  .service-choice > span:not(.choice-check) { min-width: 0; overflow-wrap: break-word; }
  .choice-check { flex-shrink: 0; }
  .step-title h3 { font-size: 16px; }
  .step-title p, .range-help, .range-limits { font-size: 11px; }
  .range-label, .range-label output { font-size: 12px; }
  .styled-range {
    height: 44px; margin: 0; background-color: transparent;
    background-size: 100% 4px; background-position: center; background-repeat: no-repeat;
    touch-action: pan-y;
  }
  .styled-range::-webkit-slider-thumb { width: 28px; height: 28px; background-position: center; background-repeat: no-repeat; }
  .styled-range::-moz-range-thumb { width: 27px; height: 27px; }
  .range-limits { margin-top: 0; }
  .extras label > span { min-height: 44px; display: flex; align-items: center; font-size: 11px; padding: 10px; }
  .extras small { font-size: 10px; }
  .summary-top .eyebrow, .tiny-label { font-size: 9px; }
  .billing-switch button, .summary-intro p, .price-note, .summary-inclusions { font-size: 12px; }
  .billing-switch button span { font-size: 10px; }
  .price strong { font-size: clamp(30px, 9vw, 44px); overflow-wrap: anywhere; }
  .no-pressure, .estimate-disclaimer, .package-bottom-note { font-size: 11px; line-height: 1.8; }
  .package-bottom-note > span { align-items: baseline; }
  .package-bottom-note .inline-link { text-align: left; min-height: 44px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card p { font-size: 12px; }
  .service-link { font-size: 11px; }
  .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-caption h3 { font-size: 13px; }
  .work-caption > span { font-size: 9px; white-space: normal; line-height: 1.6; }
  .work-footnote { font-size: 11px; }
  .founders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .founder-card p, .founder-card .tiny-label { font-size: 10px; }
  .founder-card h3 { overflow-wrap: anywhere; }
  .buddy h3 { font-size: 13px; }
  .buddy > span:last-child, .buddy-label { font-size: 9px; line-height: 1.7; }
  .team-note, .team-note .inline-link { font-size: 11px; }
  .contact h2 { font-size: clamp(34px, 9vw, 49px); }
  .contact-right { width: 100%; }
  .contact-right .button { max-width: 100%; gap: 10px; }
  .contact-right > span, .visitors > p { font-size: 10px; }
  .visitor-heading > span:first-child { font-size: 9px; line-height: 1.7; }
  .demo-tag { font-size: 8px; }
  .visitor-countries > span, .visitor-countries b, .visitor-countries small { font-size: 10px; }
  .footer-top > p, .footer-links, .footer-bottom { font-size: 10px; line-height: 1.8; }
  .footer-links { gap: 0; }
  .footer-links a { display: flex; align-items: center; }
  .footer-bottom { align-items: start; }
  #inquiry-form input, #inquiry-form textarea { font-size: 16px; min-height: 44px; }
  #inquiry-form label { font-size: 13px; }
  #inquiry-form label > span, .site-dialog .dialog-intro, .connection-note,
  .inquiry-preview, .form-privacy, .project-dialog p { font-size: 12px; }
  .site-dialog { padding-top: 56px; }
  .site-dialog .eyebrow { font-size: 9px; }
  .toast { bottom: calc(16px + env(safe-area-inset-bottom, 0px)); font-size: 12px; }
}
@media (max-width: 400px) {
  .section-shell { width: calc(100% - 32px); }
  .builder-controls { padding-left: 16px; padding-right: 16px; }
  .service-choice { font-size: 11px; padding: 12px 8px; }
  .service-choice > .icon { width: 15px; height: 15px; }
  .services-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .service-card, .service-card:first-child, .service-card:last-child { padding: 0 0 24px; border-right: 0; border-bottom: 1px solid var(--line); }
  .service-card:last-child { padding-bottom: 0; border-bottom: 0; }
  .service-card-top { margin-bottom: 15px; }
  .service-card h3 { font-size: 19px; }
  .work-grid { grid-template-columns: minmax(0, 1fr); }
  .work-image { height: 280px; }
  .footer-top { grid-template-columns: minmax(0, 1fr); }
  .footer-links { grid-column: 1; grid-row: 3; grid-template-columns: 1fr 1fr; }
  .footer-bottom { display: flex; flex-wrap: wrap; gap: 10px 20px; }
  .footer-bottom > span { width: 100%; }
}
@media (orientation: landscape) and (max-height: 500px) {
  .site-dialog { max-height: 92vh; max-height: 92dvh; }
  .mobile-nav { max-height: calc(100vh - 80px); overflow-y: auto; }
}

/* Separate AI unit prices remain readable in the two-column mobile selector. */
.service-choice .choice-rate { display: block; margin-top: 5px; font-size: 8px; line-height: 1.6; color: var(--muted); font-weight: 400; }
.ai-service-options { display: grid; gap: 10px; margin-top: auto; }
.ai-service-options .service-link { padding: 9px 0; border-top: 1px solid var(--line); }
.ai-service-options .service-link small { display: block; font-size: 9px; font-weight: 400; line-height: 1.6; color: var(--muted); margin-top: 4px; }
@media (max-width: 680px) {
  .service-choice .choice-rate { font-size: 10px; }
  .ai-service-options .service-link small { font-size: 11px; }
}

/* Native details/summary: touch, keyboard and no-JavaScript disclosure support. */
.policy-section { padding: 48px 0; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.policy-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.policy-heading > div { min-width: 0; }
.policy-heading .eyebrow { margin-bottom: 14px; }
.policy-heading h2 { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.2; }
.policy-badge { flex: none; padding: 6px 9px; border: 1px solid #bbab95; border-radius: 3px; color: var(--brown-dark); font-size: 9px; letter-spacing: 1px; line-height: 1.5; }
.policy-intro { max-width: 780px; margin: 17px 0 26px; color: #676258; font-size: 13px; line-height: 1.85; }
.policy-accordion { border: 1px solid var(--line); border-radius: 5px; background: var(--white); }
.policy-accordion details + details { border-top: 1px solid var(--line); }
.policy-accordion summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 62px; padding: 18px 24px; cursor: pointer; font-size: 14px; font-weight: 600; line-height: 1.65; overflow-wrap: anywhere; }
.policy-accordion summary::-webkit-details-marker { display: none; }
.policy-accordion summary::marker { content: ''; }
.policy-accordion summary::after { content: '+'; display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; color: var(--brown); border: 1px solid var(--line); border-radius: 50%; font-size: 17px; font-weight: 400; }
.policy-accordion details[open] summary { background: var(--pale); }
.policy-accordion details[open] summary::after { content: '−'; }
.policy-accordion summary:hover { background: var(--pale); }
.policy-accordion summary:focus-visible { outline: 2px solid var(--brown); outline-offset: -4px; border-radius: 3px; }
.policy-answer { padding: 0 24px 22px; color: #5e594f; }
.policy-answer p { padding-top: 16px; max-width: 940px; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }
.policy-followup { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-top: 19px; color: var(--muted); font-size: 12px; }
.policy-followup a { color: var(--brown); padding: 10px 0; text-decoration: underline; text-underline-offset: 4px; }
.terms-section { padding-bottom: 60px; }
.footer-links { flex-wrap: wrap; }
.language-switch { display: flex; margin-left: 14px; gap: 3px; }
.language-switch button { min-width: 35px; min-height: 40px; padding: 8px; background: transparent; border: 1px solid var(--line); border-radius: 3px; font-size: 11px; }
.language-switch button[aria-pressed=true] { background: var(--sand); border-color: var(--brown); color: var(--brown-dark); }
.draft-banner { padding: 10px 24px; color: var(--brown-dark); background: var(--sand); font-size: 10px; line-height: 1.7; text-align: center; }
.scope-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 15px; }
.scope-controls label, .contract-label { font-size: 11px; line-height: 1.6; }
.scope-wide { grid-column: 1 / -1; }
.scope-controls select, .contract-label select { display: block; width: 100%; min-width: 0; min-height: 44px; margin-top: 7px; padding: 9px 8px; border: 1px solid #baa88f; border-radius: 3px; background: var(--white); color: var(--ink); font: inherit; }
.contract-label { margin-top: 14px; }
@media (max-width: 900px) {
  .desktop-nav { gap: 14px; margin-left: 12px; }
  .footer-top { flex-wrap: wrap; }
}
@media (max-width: 680px) {
  .policy-section { padding: 36px 0; }
  .policy-heading { flex-direction: column; gap: 13px; }
  .policy-intro { font-size: 13px; margin-bottom: 20px; }
  .policy-heading h2 { font-size: clamp(28px, 7.5vw, 36px); letter-spacing: -1px; }
  .policy-heading .eyebrow { font-size: 9px; }
  .policy-accordion summary { font-size: 14px; min-height: 60px; padding: 16px; gap: 14px; }
  .policy-answer { padding: 0 16px 20px; }
  .policy-answer p { font-size: 13px; }
  .policy-followup a { min-height: 44px; display: inline-flex; align-items: center; }
  .language-switch { margin-left: auto; margin-right: 8px; }
  .language-switch button { min-width: 34px; min-height: 44px; }
  .header-contact { margin-left: 0; gap: 8px; }
  .scope-controls select, .contract-label select { font-size: 16px; }
}
@media (max-width: 360px) {
  .header-contact { padding: 8px; margin-right: 0; }
  .header-contact .icon { display: none; }
  .language-switch { margin-right: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .policy-accordion * { transition: none; }
}

/* Good enough taste slideshow — frame loop that mimics a cinemagraph / GIF. */
.taste-slideshow {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #0c0c0c;
}
.taste-slideshow img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: tasteShow 12s linear infinite;
}
.taste-slideshow img:first-child { opacity: 1; animation-delay: 0s; }
.taste-slideshow img:nth-child(2) { animation-delay: -10s; }
.taste-slideshow img:nth-child(3) { animation-delay: -8s; }
.taste-slideshow img:nth-child(4) { animation-delay: -6s; }
.taste-slideshow img:nth-child(5) { animation-delay: -4s; }
.taste-slideshow img:nth-child(6) { animation-delay: -2s; }
@keyframes tasteShow {
  0%   { opacity: 1; }
  7%   { opacity: 1; }
  10%  { opacity: 0; }
  97%  { opacity: 0; }
  100% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .taste-slideshow img { animation: none; opacity: 0; }
  .taste-slideshow img:first-child { opacity: 1; }
}

/* Allow the longer "FOOD & PRODUCT PHOTOGRAPHY/VIDEOGRAPHY" caption to wrap. */
.work-caption > span {
  white-space: normal;
  text-align: right;
  max-width: 60%;
  line-height: 1.5;
}
@media (max-width: 900px) {
  .work-caption > span { max-width: 65%; }
}

/* Dropdowns — styled native <select> to match the brown / sand aesthetic. */
.scope-controls select,
.contract-label select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%2374513b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M1 1.5l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  padding-right: 36px !important;
  box-shadow: none;
  transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.scope-controls select:hover,
.contract-label select:hover {
  border-color: var(--brown);
  background-color: var(--paper);
}
.scope-controls select:focus-visible,
.contract-label select:focus-visible {
  outline: none;
  border-color: var(--brown);
  box-shadow: 0 0 0 3px rgba(116, 81, 59, 0.18);
  background-color: var(--paper);
}
.scope-controls select:disabled,
.contract-label select:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Hero mini slideshow — fast, hard-cut, looping. */
.hero-mini-slideshow {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--sand);
}
.hero-mini-slideshow img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: heroMiniCycle 6s linear infinite;
}
.hero-mini-slideshow img:nth-child(1) { animation-delay:  0s; }
.hero-mini-slideshow img:nth-child(2) { animation-delay: -5s; }
.hero-mini-slideshow img:nth-child(3) { animation-delay: -4s; }
.hero-mini-slideshow img:nth-child(4) { animation-delay: -3s; }
.hero-mini-slideshow img:nth-child(5) { animation-delay: -2s; }
.hero-mini-slideshow img:nth-child(6) { animation-delay: -1s; }
@keyframes heroMiniCycle {
  0%       { opacity: 1; }
  16.66%   { opacity: 1; }
  16.67%   { opacity: 0; }
  100%     { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-mini-slideshow img { animation: none; opacity: 0; }
  .hero-mini-slideshow img:first-child { opacity: 1; }
}

/* Wordmark: keep the 'e' default colour, paint just the diaeresis dots brown. */
.wordmark-name { display: inline; }
.wordmark-e { color: inherit; }
.wordmark-dots {
  color: var(--brown);
  display: inline-block;
  margin-left: -0.02em;
}

/* Welcome overlay — first-visit campaign offering an AI-content discount. */
.welcome-overlay {
  position: fixed;
  inset: 0;
  background: rgba(34, 24, 16, 0.55);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.welcome-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.welcome-card {
  position: relative;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 38px 36px 32px;
  max-width: 440px;
  width: 100%;
  box-shadow: 0 30px 80px rgba(20, 14, 8, 0.45);
  transform: translateY(8px);
  transition: transform 0.25s ease;
}
.welcome-overlay.is-visible .welcome-card {
  transform: translateY(0);
}
.welcome-card .eyebrow {
  color: var(--brown);
  font-size: 10px;
  letter-spacing: 1.6px;
  margin-bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.welcome-card .eyebrow .status-dot { background: var(--brown); }
.welcome-card h2 {
  font-size: 28px;
  letter-spacing: -1px;
  line-height: 1.15;
  margin-bottom: 14px;
}
.welcome-card h2 em {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  color: var(--brown);
  font-size: 1.1em;
  letter-spacing: -0.5px;
}
.welcome-card p {
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
  margin-bottom: 18px;
}
.welcome-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  font-size: 11px;
  line-height: 1.7;
}
.welcome-bullets li {
  position: relative;
  padding-left: 20px;
  margin-top: 6px;
  color: var(--ink);
}
.welcome-bullets li::before {
  content: '✳';
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--brown);
  font-size: 11px;
}
.welcome-cta {
  width: 100%;
  justify-content: space-between;
  min-height: 48px;
  margin-bottom: 10px;
}
.welcome-dismiss {
  background: transparent;
  font-size: 10px;
  color: var(--muted);
  padding: 6px 0;
  width: 100%;
  letter-spacing: 0.4px;
}
.welcome-dismiss:hover { color: var(--brown); }
.welcome-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--sand);
  display: flex;
  align-items: center;
  justify-content: center;
}
.welcome-close .icon { width: 14px; height: 14px; }
@media (max-width: 540px) {
  .welcome-card { padding: 32px 24px 26px; }
  .welcome-card h2 { font-size: 24px; }
}

/* ============================================
   Curated Projects — compact portrait carousel
   Lives in the hero's right column, replacing
   the photo collage. Portrait cards (2:3),
   small title above, name overlaid in corner.
   ============================================ */
.cp-mini { display: flex; flex-direction: column; gap: 14px; }

.cp-mini-head { display: flex; flex-direction: column; gap: 6px; }
.cp-mini-eyebrow { display: flex; align-items: center; gap: 9px; font-size: 9px; letter-spacing: 1.6px; font-weight: 700; color: var(--muted); }
.cp-mini-title { font-family: var(--serif); font-size: clamp(15px, 1.5vw, 20px); line-height: 1.2; letter-spacing: -0.01em; color: var(--ink); }
.cp-mini-title em { font-style: italic; color: var(--brown); }

.cp-mini-viewport { overflow: hidden; border-radius: 18px; }
.cp-mini-track { display: flex; gap: 12px; transition: transform 700ms cubic-bezier(0.22, 0.8, 0.24, 1); will-change: transform; }

.cp-mini-card { flex: 0 0 clamp(160px, 36%, 240px); aspect-ratio: 3 / 4; position: relative; border-radius: 12px; overflow: hidden; background: var(--sand); border: 1px solid var(--line); }
.cp-mini-photos { position: absolute; inset: 6px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1.5fr 1fr; gap: 5px; border-radius: 10px; overflow: hidden; }
.cp-mini-photo { border-radius: 6px; overflow: hidden; background: var(--sand); position: relative; }
.cp-mini-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 700ms ease; }
.cp-mini-card:hover .cp-mini-photo img { transform: scale(1.04); }
.cp-mini-photo--main { grid-row: span 2; }

.cp-mini-corner { position: absolute; left: 0; right: 0; bottom: 0; padding: 32px 14px 12px; background: linear-gradient(to top, rgba(22, 16, 10, 0.86), rgba(22, 16, 10, 0)); color: var(--white); z-index: 2; }
.cp-mini-num { font-family: var(--serif); font-style: italic; font-size: 12px; line-height: 1; opacity: 0.85; }
.cp-mini-cat { display: block; font-size: 8px; letter-spacing: 1.4px; font-weight: 700; margin-top: 3px; opacity: 0.75; }
.cp-mini-name { font-family: var(--serif); font-weight: 400; font-size: clamp(14px, 1.4vw, 18px); line-height: 1.15; letter-spacing: -0.01em; margin-top: 4px; }
.cp-mini-name em { font-style: italic; }

.cp-mini-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cp-mini-counter { font-size: 10px; letter-spacing: 1.4px; font-weight: 700; color: var(--muted); }
.cp-mini-counter em { font-family: var(--serif); font-style: italic; font-size: 14px; color: var(--brown); letter-spacing: 0; }
.cp-mini-dots { display: flex; gap: 6px; }
.cp-mini-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--line); border: 0; padding: 0; cursor: pointer; transition: background 240ms ease, transform 240ms ease; }
.cp-mini-dot.is-active { background: var(--brown); transform: scale(1.45); }

@media (max-width: 900px) { .cp-mini-card { flex-basis: clamp(150px, 40%, 200px); } }
@media (max-width: 680px) {
  .cp-mini-viewport { border-radius: 14px; }
  .cp-mini-card { flex-basis: clamp(140px, 62%, 210px); }
  .cp-mini-title { font-size: 16px; }
}

/* ---- Quick-start presets (row above the package builder) ---- */
.preset-row { margin-bottom: 26px; }
.preset-intro { font-size: 10px; line-height: 1.9; color: var(--muted); margin-bottom: 14px; }
.preset-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.preset-card { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; text-align: left; padding: 16px 16px 15px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.preset-card:hover { border-color: #b7a997; background: #fdfaf5; transform: translateY(-2px); }
.preset-card.is-active { border-color: var(--brown); background: #eee5d9; }
.preset-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; }
.preset-num { font-family: var(--serif); font-style: italic; font-size: 13px; color: var(--brown); line-height: 1; }
.preset-badge { font-size: 6px; letter-spacing: 1.1px; font-weight: 700; text-transform: uppercase; color: var(--muted); border: 1px solid var(--line); border-radius: 2px; padding: 3px 5px; white-space: nowrap; }
.preset-name { font-family: var(--serif); font-weight: 400; font-size: 20px; line-height: 1.15; letter-spacing: -0.2px; margin-top: 2px; }
.preset-mix { font-size: 8px; line-height: 1.7; color: var(--muted); }
.preset-bottom { display: flex; align-items: baseline; gap: 4px; margin-top: auto; padding-top: 10px; width: 100%; }
.preset-price { font-size: 14px; font-weight: 600; letter-spacing: -0.3px; color: var(--ink); }
.preset-unit { font-size: 8px; color: var(--muted); }
@media (max-width: 1150px) { .preset-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) { .preset-grid { grid-template-columns: 1fr; } .preset-name { font-size: 18px; } .preset-mix { font-size: 9px; } }

/* ---- Rolling client marquee (between the builder and services) ---- */
.clients { padding-top: 14px; padding-bottom: 30px; background: var(--paper); }
.clients-viewport { overflow: hidden; }
.clients-track { display: flex; align-items: center; gap: 39px; white-space: nowrap; width: max-content; animation: clients-roll 42s linear infinite; }
.clients-item { font-size: 12px; font-weight: 500; color: var(--ink); letter-spacing: 0.1px; }
.clients-sep { font-size: 15px; font-style: normal; color: var(--brown); line-height: 1; }
.clients-rule { height: 4px; background: var(--brown); opacity: 0.85; border-radius: 2px; margin: 16px auto 0; width: calc(100% - 112px); max-width: 1328px; }
@keyframes clients-roll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.clients-viewport:hover .clients-track { animation-play-state: paused; }
@media (max-width: 900px) { .clients-track { gap: 26px; } .clients-item { font-size: 11px; } }
@media (prefers-reduced-motion: reduce) { .clients-track { animation: none; } }

/* ---- Work: archive deck — one stacked pile of cards per category ---- */
.deck-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 64px; align-items: start; margin-top: 45px; }
.deck-side { position: sticky; top: 120px; }
.deck-pick { margin: 0 0 18px; font-family: var(--serif); font-style: italic; font-size: 30px; line-height: 1; color: var(--brown); }
.deck-index { border-top: 1px solid var(--line); }
.deck-tab { position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr) 76px 22px; align-items: center; gap: 10px; width: 100%; padding: 16px 0; border: 0; border-bottom: 1px solid var(--line); background: none; color: var(--muted); font: inherit; text-align: left; cursor: pointer; transition: color .2s; }
.deck-tab::before { content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 0; background: var(--brown); transition: width .45s cubic-bezier(.2, .8, .2, 1); }
.deck-tab:hover, .deck-tab.is-active { color: var(--ink); }
.deck-tab.is-active::before { width: 100%; }
.deck-tab:focus-visible { outline: 2px solid var(--brown); outline-offset: 2px; }
.deck-tab-num { font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.deck-tab.is-active .deck-tab-num { color: var(--brown); }
.deck-tab-name { font-size: 15px; font-weight: 600; letter-spacing: -.2px; }
.deck-tab-count { font-size: 10px; font-weight: 600; color: var(--muted); text-align: right; }
.deck-tab-pile { position: relative; height: 44px; }
.deck-tab-pile img { position: absolute; top: 4px; left: 12px; width: 48px; height: 36px; object-fit: cover; border: 2px solid var(--white); border-radius: 3px; box-shadow: 0 4px 10px -4px rgba(40, 30, 20, .45); transition: transform .45s cubic-bezier(.2, .8, .2, 1), filter .2s; filter: saturate(.6); }
.deck-tab-pile img:nth-child(1) { z-index: 3; }
.deck-tab-pile img:nth-child(2) { z-index: 2; transform: rotate(7deg) translate(4px, -2px); }
.deck-tab-pile img:nth-child(3) { z-index: 1; transform: rotate(-8deg) translate(-4px, -1px); }
.deck-tab:hover .deck-tab-pile img, .deck-tab.is-active .deck-tab-pile img { filter: saturate(1); }
.deck-tab:hover .deck-tab-pile img:nth-child(1), .deck-tab.is-active .deck-tab-pile img:nth-child(1) { transform: translateY(-3px); }
.deck-tab:hover .deck-tab-pile img:nth-child(2), .deck-tab.is-active .deck-tab-pile img:nth-child(2) { transform: rotate(14deg) translate(16px, -2px); }
.deck-tab:hover .deck-tab-pile img:nth-child(3), .deck-tab.is-active .deck-tab-pile img:nth-child(3) { transform: rotate(-14deg) translate(-16px, 0); }
.deck-hint { display: flex; gap: 10px; align-items: baseline; margin: 22px 0 0; font-size: 11px; line-height: 1.6; color: var(--muted); }
.deck-hint-icon { color: var(--brown); font-weight: 700; }

.deck-main { min-width: 0; }
.deck-stage { position: relative; aspect-ratio: 16 / 10; margin: 64px 56px 0 0; touch-action: pan-y; outline: none; }
.deck-stage:focus-visible { outline: 2px solid var(--brown); outline-offset: 10px; border-radius: 8px; }
.deck { position: absolute; inset: 0; z-index: 1; }
.deck.is-leaving { z-index: 0; pointer-events: none; }
.deck-card {
  --x: 0px; --y: 0px; --r: 0deg; --s: 1; --o: 1;
  position: absolute; inset: 0; display: flex; flex-direction: column; padding: 10px 10px 0;
  border: 0; border-radius: 6px; background: var(--white); color: var(--ink); font: inherit; text-align: left; cursor: pointer;
  box-shadow: 0 1px 2px rgba(40, 30, 20, .08), 0 22px 44px -22px rgba(40, 30, 20, .45);
  transform-origin: 50% 85%;
  transform: translate(calc(var(--x) * var(--k, 1) + var(--dx, 0px)), calc(var(--y) * var(--k, 1))) rotate(calc(var(--r) + var(--dr, 0deg))) scale(var(--s));
  opacity: var(--o);
  transition: transform .55s cubic-bezier(.2, .8, .2, 1), opacity .35s ease;
  -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent;
}
.deck-card.is-top { cursor: grab; }
.deck-card.is-dragging { cursor: grabbing; transition: none; }
.deck-card.is-thrown { transform: translate(var(--tx, -115%), 40px) rotate(var(--tr, -14deg)) scale(.96); opacity: 0; transition: transform .28s cubic-bezier(.5, 0, .9, .5), opacity .28s ease; }
.deck-card:focus-visible { outline: 2px solid var(--brown); outline-offset: 4px; }
.deck.is-leaving .deck-card { transform: translate(var(--x), calc(var(--y) + 70px)) rotate(calc(var(--r) - 4deg)) scale(.94); opacity: 0; transition: transform .4s ease-in, opacity .3s ease-in; }
.deck.is-dealing .deck-card { transform: translate(-60px, 140px) rotate(-10deg) scale(.94); opacity: 0; }
.deck-card-media { position: relative; flex: 1; overflow: hidden; border-radius: 3px; background: var(--sand); }
.deck-card-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; -webkit-user-drag: none; }
.deck-card[data-fit="contain"] .deck-card-img { object-fit: contain; }
.deck-card-media .deck-card-blur { inset: -30px; width: calc(100% + 60px); height: calc(100% + 60px); filter: blur(28px) saturate(1.1); opacity: .6; }
.deck-card:not(.is-top) .deck-card-media { filter: saturate(.7) brightness(.94); }
.deck-card-label { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; padding: 0 4px; font-size: 9px; font-weight: 700; letter-spacing: 1.8px; }
.deck-card-no { color: var(--muted); letter-spacing: 1px; white-space: nowrap; }
.deck-card-open { position: absolute; top: 24px; right: 24px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: rgba(252, 251, 248, .94); font-size: 10px; font-weight: 600; opacity: 0; transform: translateY(-6px); transition: opacity .2s, transform .3s; pointer-events: none; }
.deck-card-open .icon { width: 13px; height: 13px; }
.deck-card.is-top:hover .deck-card-open, .deck-card.is-top:focus-visible .deck-card-open { opacity: 1; transform: none; }
.deck-card.is-dragging .deck-card-open { opacity: 0; }

.deck-caption { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin: 34px 56px 0 0; }
.deck-caption-cat { font-size: 9px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; color: var(--brown); }
.deck-caption-title { margin: 8px 0 0; font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 34px; line-height: 1.1; letter-spacing: -.3px; }
.deck-caption-desc { max-width: 520px; margin: 10px 0 0; font-size: 14px; line-height: 1.6; color: var(--muted); }
.deck-controls { display: flex; align-items: center; gap: 14px; flex: none; }
.deck-btn { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.deck-btn:hover { background: var(--ink); border-color: var(--ink); color: var(--white); }
.deck-btn:focus-visible { outline: 2px solid var(--brown); outline-offset: 3px; }
.deck-btn .icon { width: 18px; height: 18px; }
.deck-btn-prev .icon { transform: scaleX(-1); }
.deck-count { min-width: 58px; text-align: center; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.deck-count b { color: var(--ink); font-weight: 700; }

@media (max-width: 1100px) {
  .deck-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 44px; }
  .deck-tab { grid-template-columns: 26px minmax(0, 1fr) 60px 20px; }
}
@media (max-width: 900px) {
  .deck-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .deck-side { position: static; }
  .deck-pick { font-size: 24px; margin-bottom: 14px; }
  .deck-index { display: flex; gap: 8px; overflow-x: auto; border: 0; margin: 0 -16px; padding: 4px 16px 8px; scroll-padding-left: 16px; scrollbar-width: none; scroll-snap-type: x proximity; }
  .deck-index::-webkit-scrollbar { display: none; }
  .deck-tab { flex: none; grid-template-columns: 44px auto auto; gap: 8px; width: auto; padding: 5px 14px 5px 6px; border: 1px solid var(--line); border-radius: 999px; scroll-snap-align: start; }
  .deck-tab::before, .deck-tab-num { display: none; }
  .deck-tab.is-active { background: var(--ink); border-color: var(--ink); color: var(--white); }
  .deck-tab.is-active .deck-tab-count { color: #cfc8bb; }
  .deck-tab-pile { order: -1; height: 32px; }
  .deck-tab-pile img { top: 4px; left: 8px; width: 30px; height: 24px; border-width: 1.5px; }
  .deck-tab:hover .deck-tab-pile img:nth-child(2), .deck-tab.is-active .deck-tab-pile img:nth-child(2) { transform: rotate(10deg) translate(8px, -1px); }
  .deck-tab:hover .deck-tab-pile img:nth-child(3), .deck-tab.is-active .deck-tab-pile img:nth-child(3) { transform: rotate(-10deg) translate(-8px, 0); }
  .deck-tab-name { font-size: 13px; white-space: nowrap; }
  .deck-hint { margin-top: 12px; }
  .deck-stage { margin: 60px 44px 0 0; }
  .deck-caption { margin-right: 0; }
}
@media (max-width: 680px) {
  .deck-layout { margin-top: 28px; }
  .deck-stage { --k: .6; aspect-ratio: 5 / 4; margin: 40px 28px 0 0; }
  .deck-card { padding: 7px 7px 0; }
  .deck-card-label { min-height: 32px; font-size: 8px; letter-spacing: 1.4px; }
  .deck-card-open { display: none; }
  .deck-caption { flex-direction: column; align-items: stretch; gap: 18px; margin-top: 26px; }
  .deck-caption-title { font-size: 25px; }
  .deck-caption-desc { font-size: 13px; }
  .deck-controls { justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
  .deck-card, .deck-card.is-thrown, .deck.is-leaving .deck-card, .deck-tab-pile img, .deck-tab::before { transition: none; }
}

/* ---- Services grid: 8 cards, 4 columns x 2 rows ---- */
.services-grid { row-gap: 44px; }
.service-card:nth-child(4n) { border-right: 0; padding-right: 0; }
.service-card:nth-child(4n+1) { padding-left: 0; }
@media (max-width: 1150px) { .services-grid { row-gap: 38px; } }
@media (max-width: 900px) { .services-grid { row-gap: 32px; } }
@media (max-width: 680px) {
  .services-grid { row-gap: 31px; }
  .service-card:nth-child(2n) { border-right: 0; padding-right: 0; }
  .service-card:nth-child(2n+1) { padding-left: 0; }
}

/* Currency switcher — mirrors the inline rules in index.html so the stylesheet
   and the inline critical CSS agree. Inline wins under Hostinger cache, but
   the stylesheet copy keeps the visual design in one place. Lives inside the
   summary panel as a small chip; dropdown opens downward from there. */
.currency-switch { display: inline-flex; align-items: center; padding: 0; background: transparent; border: 0; cursor: pointer; position: relative; }
.currency-chip { display: inline-flex; align-items: center; gap: 5px; min-height: 28px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 3px; background: transparent; font-size: 10px; font-weight: 600; color: var(--brown); letter-spacing: 0.2px; transition: border-color .15s, background .15s; }
.currency-switch:hover .currency-chip, .currency-switch[aria-expanded="true"] .currency-chip { border-color: #b7a997; background: #fdfaf5; }
.currency-flag { font-size: 13px; line-height: 1; }
.currency-code { font-family: inherit; }
.currency-caret { width: 8px; height: 8px; color: var(--muted); transition: transform .2s; }
.currency-switch[aria-expanded="true"] .currency-caret { transform: rotate(180deg); }
.currency-menu { position: absolute; top: calc(100% + 8px); right: 0; width: max(280px, calc(100vw - 32px)); max-width: 380px; padding: 8px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 10px 30px rgba(40,39,31,.12); z-index: 9999; opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity .15s, transform .15s; }
.currency-menu.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
.currency-menu-list { list-style: none; padding: 0; margin: 0; max-height: 360px; overflow-y: auto; }
.currency-menu-item { width: 100%; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 10px; padding: 8px 10px; border: 0; background: transparent; text-align: left; border-radius: 4px; cursor: pointer; font-family: inherit; color: var(--ink); transition: background .12s; }
.currency-menu-item:hover, .currency-menu-item:focus-visible { background: var(--sand); outline: 0; }
.currency-menu-item[aria-checked="true"] { background: #f4ece1; }
.currency-menu-item-flag { font-size: 16px; line-height: 1; }
.currency-menu-item-name { font-size: 12px; font-weight: 500; }
.currency-menu-item-code { font-size: 11px; font-weight: 600; color: var(--brown); }
.currency-menu-foot { margin-top: 6px; padding: 10px 10px 8px; border-top: 1px solid var(--line); font-size: 10px; line-height: 1.55; color: var(--muted); }
@media (max-width: 820px) { .currency-chip { min-height: 32px; padding: 4px 8px; font-size: 11px; } }
@media (max-width: 480px) { .currency-chip .currency-code { display: none; } .currency-chip { padding: 4px 6px; } }


/* ============================================================
   Team section — two-column split (heading in left column)
   Added in v1.2.x for the "Meet the minds" redesign.
   ============================================================ */

/* ----- Split grid: 55% left, 45% right, on desktop ----- */
.team-split { display: grid; grid-template-columns: 1fr; gap: 0; }
@media (min-width: 1024px) {
  .team-split { grid-template-columns: 11fr 9fr; gap: clamp(40px, 5vw, 80px); align-items: start; }
}

/* ----- Left column: override the centered .team-intro ----- */
.team-left { min-width: 0; }
.team-left .team-intro { text-align: left; }
.team-left .team-intro .eyebrow { justify-content: flex-start; margin-bottom: 16px; }
.team-left .team-intro p { margin: 18px 0 0; max-width: 480px; }

/* On desktop, drop the centered tree's 840px ceiling and auto margin so it fills the column */
@media (min-width: 1024px) {
  .team-split .team-tree { margin: 22px 0 0; max-width: none; }
}

/* ----- Right column: process block ----- */
.process { padding-top: 4px; }
@media (min-width: 1024px) { .process { margin-top: 0; } }
.process .eyebrow { justify-content: flex-start; margin-bottom: 18px; font-size: 9px; letter-spacing: 1px; }
.process h2 { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; letter-spacing: -1.5px; font-weight: 500; margin: 0 0 14px; }
.process h2 em { font-family: var(--serif); font-weight: 400; font-size: 1.18em; color: var(--brown); letter-spacing: -.8px; }
.process-intro { font-size: 12px; line-height: 1.9; color: var(--muted); margin: 0 0 26px; max-width: 360px; }

.process-list { list-style: none; padding: 0; margin: 0; }
.process-step { display: grid; grid-template-columns: 32px 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid var(--line); }
.process-step:last-child { border-bottom: 1px solid var(--line); }
.process-num { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--brown); line-height: 1; padding-top: 2px; }
.process-body h3 { font-size: 14px; font-weight: 600; letter-spacing: -.2px; margin: 0 0 6px; }
.process-body p { font-size: 11px; line-height: 1.85; color: var(--muted); margin: 0; }

/* ----- Mobile / tablet: stacked single column, tree first then process ----- */
@media (max-width: 1023px) {
  .team-split { margin-top: 30px; }
  .process { margin-top: 48px; }
}
@media (max-width: 900px) {
  .process h2 { font-size: clamp(26px, 5vw, 34px); }
  .process-num { font-size: 20px; }
}
@media (max-width: 680px) {
  .process { margin-top: 40px; }
  .process-step { padding: 16px 0; }
  .process-num { font-size: 19px; }
  .process-body p { font-size: 10px; }
}
