:root{--ink:#11161e;--ink-soft:#1b232d;--paper:#f3f2ee;--white:#faf8f3;--muted:#bac1cb;--line:#35404d;--orange:#e9ad8b;--body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;isolation:isolate;background:var(--ink);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.055em;line-height:1.04}h2{font-size:clamp(2.6rem,4.6vw,4.7rem)}h1 em,h2 em{font-weight:400;color:var(--orange)}.wrap{width:min(1360px,calc(100% - 112px));margin-inline:auto}.section{padding-block:120px}.eyebrow{font-size:.78rem;font-weight:650;letter-spacing:.13em;line-height:1.8;margin-bottom:26px}.skip{position:fixed;top:-80px;z-index:30;padding:10px;background:var(--orange);color:var(--ink)}.skip:focus{top:0}.draftbar{background:#202a36;color:#d6deea;min-height:38px;display:flex;align-items:center;justify-content:center;gap:25px;padding:7px 25px;font-size:.78rem}.draftbar b{letter-spacing:.09em;font-size:.67rem;margin-right:12px}.draftbar button{background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:3px;font-size:.78rem}.header{height:119px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;gap:16px;align-items:center;font-weight:600;font-size:.75rem;line-height:1.4;letter-spacing:.12em}.monogram{font:italic 3.25rem/1 var(--serif);letter-spacing:-.1em;color:var(--orange);padding-right:5px}.header nav{display:flex;align-items:center;gap:35px;font-size:.9rem}.header nav>a:not(.nav-cta):hover{color:var(--orange)}.nav-cta{border:1px solid #596577;padding:12px 22px}.nav-cta:hover{border-color:var(--orange)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;position:relative;min-height:670px;padding-top:16px;padding-bottom:65px;gap:45px}.hero-copy{padding-top:47px;z-index:1}.hero h1{font-size:clamp(4rem,6.9vw,7rem);margin-bottom:28px}.hero .eyebrow{font-size:.75rem;letter-spacing:.08em}.intro{font-size:1.28rem;line-height:1.65;margin-bottom:17px}.hero-detail{max-width:480px;color:var(--muted);font-size:1rem}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 24px;background:var(--orange);color:var(--ink);border:1px solid var(--orange);font-weight:600;font-size:.9rem;line-height:1.5;transition:background .2s}.button:hover{background:#f1c4ab}.text-link{font-size:.87rem;border-bottom:1px solid #788599;padding-block:7px}.hero-note{display:flex;gap:24px;flex-wrap:wrap;font-size:.76rem;color:var(--muted);margin-top:42px}.hero-image{align-self:stretch;position:relative;min-height:630px;overflow:hidden}.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}.hero-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(9,16,18,.7))}.hero-image figcaption{position:absolute;bottom:25px;left:25px;right:25px;z-index:1;display:flex;flex-direction:column;gap:8px;font-size:.66rem;letter-spacing:.1em}.hero-image small{color:#d1d5d1;font-size:.72rem;letter-spacing:0}.hero-number{position:absolute;bottom:17px;right:0;color:var(--muted);font-size:.67rem;letter-spacing:.15em}.services{border-top:1px solid var(--line);padding-top:85px}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:55px}.section-heading .eyebrow{padding-top:9px}.section-heading>div>p{color:var(--muted);max-width:640px;margin-top:25px;line-height:1.8}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service{padding:45px 42px 38px;display:flex;flex-direction:column;min-height:590px;border:1px solid var(--line)}.service-index{font-size:.74rem;letter-spacing:.12em;margin-bottom:38px}.service h3{font:2.5rem/1.13 var(--serif);letter-spacing:-.045em;margin-bottom:24px}.service h3 em{color:#6d4d37}.service p{font-size:.96rem;color:var(--muted);line-height:1.85;max-width:450px}.service ul{list-style:none;padding:0;margin:29px 0 34px}.service li{font-size:.91rem;border-top:1px solid var(--line);padding:12px 0}.service-link{align-self:flex-start;background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 7px;color:var(--orange);font-size:.9rem;font-weight:600;margin-top:auto}.service-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.service-light p{color:#555b64}.service-light li{border-color:#d5d7da}.service-light .service-link{color:var(--ink)}.about-section{background:#19212b}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.about-grid h2{max-width:510px}.about-copy p{color:var(--muted);margin-bottom:22px;font-size:1rem}.about-copy .large-copy{font-size:1.33rem;color:var(--white);line-height:1.7}.signature{font:italic 2rem/1.5 var(--serif);margin-top:27px;color:var(--orange)}.about-copy .languages{font-size:.76rem;margin:12px 0 0}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps li{padding-top:25px;border-top:1px solid var(--line)}.steps span{font:italic 2rem var(--serif);color:var(--orange)}.steps h3{font-family:var(--serif);font-size:2rem;letter-spacing:-.03em;margin:20px 0 15px}.steps p{font-size:.96rem;color:var(--muted);line-height:1.85;max-width:340px}.faq-section{background:var(--paper);color:var(--ink)}.faq-section h2 em{color:#8f4d2e}.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:75px}.faq-list details{border-top:1px solid #cbced2;padding-block:24px}.faq-list details:last-child{border-bottom:1px solid #cbced2}.faq-list summary{position:relative;list-style:none;padding-right:35px;font-size:1.02rem;font-weight:550;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;top:-5px;font-size:1.4rem;font-weight:300}.faq-list details[open] summary:after{content:"−"}.faq-list details p{padding-top:17px;font-size:.95rem;color:#535d69;max-width:650px}.inquiry{display:grid;grid-template-columns:1fr 1.4fr;gap:100px}.inquiry-copy>p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:1.85;margin-top:27px;max-width:370px}.local-note{border-left:2px solid var(--orange);padding:0 0 0 18px;margin-top:40px;max-width:360px}.local-note strong{font-size:.83rem;font-weight:600}.local-note p{font-size:.82rem;color:var(--muted);margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:.83rem;margin-bottom:9px}.field label span{color:var(--muted)}input,select,textarea{display:block;width:100%;border:1px solid #48566a;background:#1b2430;color:var(--white);padding:13px 14px;border-radius:0;font-size:1rem;min-height:51px;transition:border .15s}input::placeholder,textarea::placeholder{color:#a9b3c2;opacity:1}input:hover,select:hover,textarea:hover{border-color:#8798b0}textarea{resize:vertical;line-height:1.6}input[type=date]{min-width:0}input[type=date]::-webkit-calendar-picker-indicator{opacity:.8}.form-button{width:100%;margin-top:28px}.form-note{font-size:.78rem;color:var(--muted);margin-top:14px;line-height:1.7}.footer{border-top:1px solid var(--line);padding-top:43px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:45px}.footer-top>p{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.3;color:var(--muted)}.footer-top>a:last-child{font-size:.9rem;text-decoration:underline;text-underline-offset:6px}.footer-bottom{border-top:1px solid var(--line);padding-block:24px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.73rem;flex-wrap:wrap}.footer-bottom button{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px}dialog{background:var(--paper);color:var(--ink);border:0;width:min(650px,calc(100vw - 28px));max-height:90dvh;padding:45px;border-radius:0;box-shadow:0 20px 100px #0005}dialog::backdrop{background:rgba(8,14,24,.78);backdrop-filter:blur(5px)}dialog h2{font-size:2.9rem;margin:20px 0}dialog h2 em{color:#8f4d2e}dialog>p:not(.eyebrow){font-size:.9rem;color:#535d69}.dialog-close{display:block;margin-left:auto;margin-bottom:26px;border:0;background:transparent;color:var(--ink);font-size:.86rem;text-decoration:underline;text-underline-offset:4px}dialog pre{background:#e7e9ed;white-space:pre-wrap;overflow-wrap:anywhere;font: .9rem/1.75 var(--body);padding:25px;margin:25px 0}dialog .eyebrow{margin-bottom:0}.review-list{list-style:none;padding:0;margin:25px 0 0}.review-list li{padding:17px 0;border-top:1px solid #ced3da}.review-list strong,.review-list span{display:block}.review-list strong{font-size:.92rem}.review-list span{font-size:.86rem;color:#535d69;margin-top:7px}.copy-status{min-height:24px;margin-top:12px}
@media(min-width:1600px){.hero-image{min-height:700px}.hero-copy{padding-top:75px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header nav{gap:22px}.hero{gap:25px}.hero h1{font-size:6.6vw}.hero-copy{padding-top:28px}.hero-image{min-height:610px}.actions{gap:16px}.actions .button{padding:16px 18px}.section{padding-block:90px}.service{padding:35px 28px}.service h3{font-size:2.25rem}.about-grid,.inquiry{gap:50px}.faq-grid{gap:45px}.hero-note{gap:12px}}
@media(max-width:850px){.wrap{width:calc(100% - 44px)}.header{height:94px}.header nav{font-size:.78rem;gap:16px}.brand{font-size:.67rem;gap:11px}.monogram{font-size:2.6rem}.nav-cta{padding:9px 13px}.hero{gap:22px;min-height:0}.hero .eyebrow{font-size:.66rem}.hero h1{font-size:7.3vw}.intro{font-size:1.1rem}.hero-detail{font-size:.9rem}.hero-image{min-height:630px}.hero-note{flex-direction:column;margin-top:25px;gap:4px}.section-heading{grid-template-columns:1fr;gap:10px}.section-heading .eyebrow{margin-bottom:5px}.service-grid{gap:18px}.service{padding:30px 23px;min-height:650px}.service h3{font-size:2rem}.about-grid{gap:36px}.about-copy .large-copy{font-size:1.1rem}.faq-grid{gap:35px;grid-template-columns:1fr 1.5fr}.inquiry{grid-template-columns:1fr;gap:44px}.inquiry-copy{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inquiry-copy .eyebrow,.inquiry-copy h2{grid-column:1}.inquiry-copy .eyebrow{margin-bottom:0}.inquiry-copy>p:not(.eyebrow){grid-column:2;grid-row:2;margin-top:0}.local-note{grid-column:1/-1;margin-top:7px;max-width:100%}.steps{gap:25px}.steps p{font-size:.9rem}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.draftbar{padding:8px 16px;gap:12px;justify-content:space-between;font-size:.68rem}.draftbar b{margin-right:7px;font-size:.61rem}.draftbar button{font-size:.7rem;white-space:nowrap}.header{height:87px;position:relative;z-index:5}.menu-toggle{display:block;border:1px solid #65758b;color:var(--white);background:none;padding:8px 13px;font-size:.88rem}.header nav{display:none;position:absolute;top:77px;left:0;right:0;padding:22px;background:#1b2430;border:1px solid #45556a;flex-direction:column;align-items:stretch;font-size:1rem;gap:0}.header nav.open{display:flex}.header nav a{padding:13px 10px}.header nav .nav-cta{margin-top:8px;text-align:center}.hero{grid-template-columns:1fr;padding-top:6px;gap:36px;padding-bottom:52px}.hero-copy{padding-top:15px}.hero .eyebrow{font-size:.71rem;letter-spacing:.055em;margin-bottom:25px}.hero h1{font-size:clamp(3.55rem,14vw,5.2rem);margin-bottom:25px}.intro{font-size:1.16rem}.hero-detail{font-size:1rem;max-width:450px}.actions{margin-top:26px;gap:21px}.actions .button{font-size:.84rem;padding:15px 17px}.text-link{font-size:.82rem}.hero-note{flex-direction:row;font-size:.7rem;gap:16px;margin-top:29px}.hero-image{min-height:440px;aspect-ratio:4/4.5}.hero-image figcaption{left:20px;bottom:19px;font-size:.62rem}.hero-number{font-size:.62rem;bottom:14px}.section{padding-block:70px}.section-heading{margin-bottom:35px}.section-heading>div>p{font-size:.94rem;margin-top:22px}.eyebrow{font-size:.72rem;margin-bottom:24px}.service-grid{grid-template-columns:1fr;gap:22px}.service{padding:33px 26px;min-height:0}.service-index{margin-bottom:28px}.service h3{font-size:2.4rem}.service p{font-size:.94rem}.service ul{margin:23px 0 26px}.service-link{margin-top:2px}.about-grid{grid-template-columns:1fr;gap:37px}.about-copy .large-copy{font-size:1.2rem}.about-copy p{font-size:.95rem}.steps{grid-template-columns:1fr;gap:32px}.steps li{position:relative;padding-left:54px;padding-top:22px}.steps span{position:absolute;left:0;top:22px}.steps h3{margin-top:0;font-size:1.95rem}.steps p{max-width:none;font-size:.94rem}.faq-grid{grid-template-columns:1fr;gap:38px}.faq-list details{padding-block:22px}.faq-list summary{font-size:.98rem}.inquiry-copy{display:block}.inquiry-copy .eyebrow{margin-bottom:25px}.inquiry-copy>p:not(.eyebrow){margin-top:25px;max-width:100%;font-size:.94rem}.local-note{margin-top:27px}.inquiry{gap:32px}.form-grid{grid-template-columns:1fr;gap:19px}.field.full{grid-column:auto}.footer-top{align-items:flex-start;flex-wrap:wrap;gap:30px}.footer-top>p{font-size:1.3rem}.footer-top>a:last-child{width:100%}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-bottom button{text-align:left}dialog{padding:25px}dialog h2{font-size:2.5rem}}
.hero-image img{object-position:49% 50%}.hero-image:after{inset:70% 0 0}.gallery-section{padding-top:5px}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:40px}.gallery-heading>p{max-width:380px;color:var(--muted);font-size:1rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.gallery-card{border:0;padding:0;background:none;color:var(--white);text-align:left}.gallery-card img{width:100%;aspect-ratio:1.16;object-fit:cover;transition:filter .2s}.gallery-card:hover img{filter:brightness(1.12)}.gallery-card span{display:block;font-size:.85rem;margin-top:11px;color:var(--muted)}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:32px}.gallery-bottom p{font-size:.84rem;color:var(--muted);max-width:520px}.outline-button{background:none;border:1px solid #64748a;color:var(--white);padding:13px 20px;font-size:.86rem;white-space:nowrap}.outline-button:hover{border-color:var(--orange)}.about-portrait{margin-top:35px;max-width:450px}.about-portrait img{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;object-position:50% 47%}.about-portrait figcaption{font-size:.76rem;color:var(--muted);margin-top:12px}.about-copy{align-self:center}.gallery-dialog{width:min(1100px,calc(100vw - 28px));background:#11161e;color:var(--white);padding:20px}.lightbox-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:.8rem;color:var(--muted)}.lightbox-head .dialog-close{margin:0;color:var(--white)}#gallery-image{width:100%;height:min(68dvh,760px);object-fit:contain;background:#0b1017}.lightbox-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.lightbox-foot p{font-size:.92rem;text-align:center}.lightbox-foot button{background:none;color:var(--white);border:1px solid #64748a;padding:8px 16px;font-size:.85rem}.lightbox-foot button:hover{border-color:var(--orange)}
@media(max-width:850px){.gallery-heading{gap:30px}.gallery-heading>p{max-width:310px;font-size:.92rem}.gallery-grid{gap:18px}.about-portrait img{aspect-ratio:1}.gallery-bottom{align-items:flex-start}}
@media(max-width:640px){.gallery-section{padding-top:0}.gallery-heading{display:block}.gallery-heading>p{margin-top:25px;max-width:none}.gallery-grid{grid-template-columns:1fr 1fr;gap:23px 14px}.gallery-card img{aspect-ratio:1}.gallery-card span{font-size:.78rem;line-height:1.5}.gallery-bottom{display:block}.gallery-bottom .outline-button{margin-top:22px}.about-portrait{max-width:none;margin-top:30px}.about-portrait img{aspect-ratio:1.35}.gallery-dialog{padding:14px}.lightbox-foot{gap:9px}.lightbox-foot p{font-size:.78rem}.lightbox-foot button{font-size:.8rem;padding:9px 11px}}
.brand-name{font-family:var(--serif);font-size:1.9rem;font-weight:400;letter-spacing:-.04em;line-height:1}.brand .monogram{font-family:var(--serif);font-style:normal;font-size:1.15rem;letter-spacing:-.04em;line-height:1;border:1px solid var(--orange);border-radius:50%;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}
@media(max-width:640px){.brand-name{font-size:1.55rem}.brand .monogram{font-size:1rem;width:38px;height:38px}}
.hero>*{min-width:0}
@media(max-width:640px){.hero-image{min-height:0;width:100%;aspect-ratio:4/4.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-line a{color:var(--orange);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-details{font-style:normal;display:grid;gap:14px;margin-top:28px}.contact-details a{text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}

.email-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.copy-button{padding:10px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);font-size:.85rem}.email-help{margin-top:22px;line-height:1.65}

.imprint-dialog h3{font-size:1rem;font-weight:650;margin:26px 0 9px}.imprint-dialog address{font-style:normal;line-height:1.75}.imprint-dialog a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}.imprint-dialog p{line-height:1.75}

.service-allrounder{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;min-height:0;padding:0;overflow:hidden}.allrounder-copy{padding:43px 0 43px 42px}.allrounder-copy .service-index{display:block}.allrounder-copy .service-link{margin-top:0}.service-allrounder h3 em{color:var(--orange)}.service-allrounder figure{position:relative;min-height:520px}.service-allrounder figure img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 37%}.service-allrounder figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#111c);padding:60px 24px 22px;font-size:.76rem}.hero .eyebrow{letter-spacing:.055em}@media(max-width:640px){.service-allrounder{grid-template-columns:1fr;gap:0}.allrounder-copy{padding:33px 26px}.service-allrounder figure{min-height:380px}.hero .eyebrow{font-size:.64rem;letter-spacing:.02em}}

.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.6;cursor:default}#send-status{max-width:60ch;line-height:1.6}#contact-status:empty{display:none}

/* A quiet link to the Infinity brands: charcoal, a fine grid and soft blue/copper light. */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse at 8% 16%,rgba(70,109,160,.13),transparent 55%),radial-gradient(ellipse at 93% 66%,rgba(153,85,70,.08),transparent 52%),linear-gradient(rgba(164,188,217,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(164,188,217,.022) 1px,transparent 1px);background-size:100% 100%,100% 100%,64px 64px,64px 64px}
.draftbar{border-bottom:1px solid #354152}
.service:not(.service-light){background:rgba(25,33,44,.48)}
.about-section{background:radial-gradient(ellipse at 0 25%,rgba(74,111,158,.08),transparent 68%),#19212b}
.hero-image,.gallery-card img,.about-portrait img{border-radius:3px}
