@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Amatic+SC:wght@700&family=Assistant:wght@300;400;500;600;700&family=Frank+Ruhl+Libre:wght@300;400;500;600;700&family=Secular+One&display=swap');
:root{--ivory:#f5f0e9;--paper:#eee7dc;--sand:#ddccba;--ink:#271b16;--taupe:#92745b;--bronze:#906845;--gold:#c1a17d;--dark:#1e1714;--line:rgba(85,57,36,.2);--font-body:'Assistant',Arial,sans-serif;--font-display:'Frank Ruhl Libre',Georgia,serif;}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font-body);font-size:17px;overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer}.shell{width:min(1330px,calc(100% - 9.2vw));margin-inline:auto}.skip-link{position:fixed;top:-100px;right:1rem;z-index:200;background:#fff;padding:12px}.skip-link:focus{top:12px}.reading-progress{position:fixed;height:2px;top:0;right:0;background:var(--bronze);width:0;z-index:110}
.site-header{position:absolute;inset:0 0 auto;z-index:60;height:94px;transition:background .3s,box-shadow .3s}.site-header.scrolled{position:fixed;background:rgba(249,245,239,.95);backdrop-filter:blur(15px);box-shadow:0 1px 0 rgba(75,50,34,.12);height:80px}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:34px}.wordmark,.footer-wordmark{display:flex;flex-direction:column;gap:0;line-height:1;white-space:nowrap}.wordmark-name,.footer-wordmark{font-family:var(--font-display);font-size:37px;font-weight:600;letter-spacing:-1.1px}.wordmark-mark{font-size:22px;color:var(--bronze)}.wordmark-caption,.footer-wordmark span{font-size:10px;letter-spacing:.6px;font-family:var(--font-body);font-weight:500;margin-top:6px}.nav-links{display:flex;gap:31px;align-items:center;margin-inline:auto}.nav-links a{font-size:14px;font-weight:600;position:relative;padding-block:15px;color:#56483e;transition:color .2s}.nav-links a:hover,.nav-links .is-active{color:#17110e}.nav-links .is-active:after,.nav-links a:hover:after{content:'';position:absolute;bottom:8px;right:0;left:0;height:1px;background:var(--taupe)}.nav-cta{white-space:nowrap;display:flex;gap:24px;align-items:center;padding:13px 22px;background:#30231b;color:#fff;font-size:13px;transition:background .25s,transform .25s}.nav-cta:hover{background:#7c5839;transform:translateY(-2px)}.menu-toggle{display:none;width:43px;height:43px;background:transparent;border:1px solid var(--line);padding:13px}.menu-toggle span{height:1px;width:100%;background:#31231c;display:block;margin:5px auto}
.hero{height:clamp(710px,90svh,970px);min-height:620px;position:relative;isolation:isolate;overflow:hidden;background:#e8dbcc}.hero-image{position:absolute;inset:0;background-image:url('/assets/hero-selected-20261029-1200.webp');background-image:image-set(url('/assets/hero-selected-20261029-1200.webp') 1x,url('/assets/hero-selected-20261029-2200.webp') 2x);background-size:cover;background-position:center;z-index:-3;transform:scale(1.02);animation:heroReveal 1.6s ease-out both}.hero-copy{height:100%;display:flex;align-items:center;justify-content:flex-start;direction:ltr}.hero-text{direction:rtl;text-align:right;width:min(590px,52%);padding-block:120px 40px}.eyebrow{display:flex;align-items:center;gap:14px;letter-spacing:.045em;color:#896f59;font-size:13px;font-weight:700;margin:0 0 20px}.eyebrow-line{height:1px;width:32px;background:currentColor;display:inline-block}.hero h1,.display-heading{font-family:var(--font-display);font-weight:500;line-height:1.09;letter-spacing:-1.3px}.hero h1{font-size:clamp(48px,5.05vw,85px);margin:0 0 28px;color:#352319}.hero h1 em,.display-heading em,.editorial-quote em{font-style:normal;color:#986e50}.hero-description{font-size:clamp(17px,1.28vw,21px);line-height:1.8;max-width:540px;color:#55483d;margin:0 0 38px}.hero-buttons{display:flex;align-items:center;gap:35px;flex-wrap:wrap}.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:16px 28px;font-size:15px;font-weight:700;transition:transform .28s,background .28s,color .28s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:#795535;color:white}.btn-primary:hover{background:#302319}.text-link,.inline-action{display:inline-flex;align-items:center;gap:24px;font-size:15px;font-weight:700;border-bottom:1px solid #96795f;padding-block:8px;transition:gap .25s,color .25s}.text-link:hover,.inline-action:hover{gap:35px;color:#9a6948}.hero-index{display:flex;align-items:center;gap:18px;margin-top:70px;font-size:11px;color:#92765c;letter-spacing:1px}.hero-index-line{width:52px;height:1px;background:#b89b82}.hero-scroll{position:absolute;bottom:32px;left:4.6vw;display:flex;align-items:center;gap:14px;color:#4f3e31;font-size:12px;font-weight:600}.hero-scroll-circle{width:45px;height:45px;border:1px solid #896e5e;border-radius:50%;display:grid;place-items:center;font-size:20px}
.quiet-strip{padding:32px 0 36px;background:#f6f2ec;border-block:1px solid #e8ded0}.quiet-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.quiet-strip p{font-family:var(--font-display);font-size:24px;white-space:nowrap;margin:0}.quiet-strip p span{color:#a27d60}.quiet-points{display:flex;align-items:center;gap:40px;color:#826c58;font-size:13px;font-weight:600}.quiet-points span{white-space:nowrap}
.padded-section{padding:clamp(90px,10vw,158px) 0}.intro-section{background:linear-gradient(145deg,#f4eee5,#fdfaf7 65%)}.intro-grid{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:9%;direction:rtl}.intro-copy{padding-inline-start:10%}.display-heading{font-size:clamp(46px,5.2vw,78px);margin:0 0 30px}.intro-copy>p:not(.eyebrow){font-size:19px;line-height:1.9;max-width:480px;color:#655448;margin-bottom:32px}.intro-photo{position:relative;min-height:560px;overflow:visible}.intro-photo img{height:560px;width:100%;object-fit:cover;object-position:center}.intro-photo::after{content:'';position:absolute;left:-30px;bottom:-30px;width:49%;height:53%;border:1px solid #bc9d7d;z-index:0;pointer-events:none}.photo-float{position:absolute;right:-35px;bottom:-25px;background:#30231d;color:white;width:235px;padding:29px 27px;display:flex;flex-direction:column;gap:8px;box-shadow:0 20px 40px #22170f35}.photo-float span{letter-spacing:3px;font-size:9px;color:#af8a68}.photo-float strong{font-family:var(--font-display);font-size:39px;font-weight:400}.photo-float small{font-size:12px;color:#d4bcaa}
.collection-section{background:#eae1d5;position:relative}.collection-section::before{content:'';position:absolute;inset:0;background-image:radial-gradient(#62462a0e .7px,transparent .7px);background-size:7px 7px;pointer-events:none}.section-header.centered{text-align:center;max-width:750px;margin:0 auto 61px}.section-header.centered .eyebrow{justify-content:center}.section-header.centered .display-heading{margin-bottom:17px}.section-header.centered>p:last-child{color:#7c6b5c;max-width:470px;line-height:1.7;margin:auto}.product-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-tile{position:relative;display:block;overflow:hidden;background:linear-gradient(135deg,#d5c7b6,#f5eee2);height:500px;isolation:isolate;transition:transform .45s;box-shadow:0 15px 45px #8a725f20}.product-tile:hover{transform:translateY(-9px)}.product-two{background:linear-gradient(145deg,#b6b4b0,#f0ede9)}.product-three{background:linear-gradient(130deg,#393734,#8d8a80)}.material-scene{height:calc(100% - 98px);display:grid;place-items:center;position:relative;background:radial-gradient(circle at 37% 29%,#ffffff72,transparent 45%),linear-gradient(135deg,transparent 49%,#ffffff20 51%,transparent 57%)}.material-scene::before{content:'';position:absolute;height:43%;width:73%;bottom:7%;left:14%;border-radius:50%;background:#37251829;filter:blur(22px)}.material-frame{position:relative;display:block;width:95px;height:310px;transform:perspective(800px) rotateY(-9deg) rotateX(2deg);background:linear-gradient(90deg,#62422c,#af8867 12%,#efca8e 45%,#a46b40 80%,#5d3f28);box-shadow:25px 27px 30px #1d120d42, inset 4px 0 0 #f1d0a7,inset -5px 0 0 #3d2515;border:1px solid #a77f5e}.material-frame::after{content:'';position:absolute;inset:9px;border:1px solid #ffffff64}.material-frame.stone{background:linear-gradient(90deg,#8f8c86,#e3ded1 16%,#b6b3ab 46%,#e9e3d9 80%,#928a7c);border-color:#aaa29a}.material-frame.graphite{background:linear-gradient(90deg,#131516,#3d3d3c 15%,#67645e 48%,#202223 84%,#111);border-color:#2d2b28}.material-crest{font:normal 70px var(--font-display);position:absolute;inset:0;display:grid;place-items:center;color:#442b1f;text-shadow:0 1px #e0bc91}.stone .material-crest{color:#6e6258}.graphite .material-crest{color:#b5a386}.tile-copy{height:98px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;background:#faf7f2;padding:18px 25px;color:#2a1e17}.tile-copy span:first-child{letter-spacing:1px;color:#b39779;font-size:10px}.tile-copy strong{font-family:var(--font-display);font-size:27px;font-weight:500;margin-top:6px}.tile-arrow{position:absolute;left:25px;bottom:25px;font-size:22px}.collection-foot{display:flex;justify-content:space-between;align-items:center;margin-top:43px;color:#716154;font-size:15px}
.project-feature{position:relative;min-height:720px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#30241e;color:#fff}.project-image{position:absolute;inset:0;background-image:url('/assets/architecture.webp');background-position:center;background-size:cover;z-index:-3;transform:scale(1.05)}.project-cover{position:absolute;inset:0;background:linear-gradient(270deg,rgba(19,16,14,.94) 3%,rgba(22,17,15,.83) 31%,rgba(20,17,16,.35) 65%,rgba(0,0,0,.16));z-index:-2}.project-copy{padding-block:100px}.project-copy>*{max-width:610px}.eyebrow.light{color:#d3ad86}.project-copy .display-heading{font-size:clamp(51px,6vw,88px);margin-block:15px 30px}.project-copy .display-heading em{color:#d5b18b}.project-copy>p:not(.eyebrow){color:#f0e4d8;max-width:480px;line-height:1.9;font-size:18px;margin-bottom:33px}.btn-ivory{background:#e5cdb0;color:#302218}.btn-ivory:hover{background:#fff0dd}.project-side-note{position:absolute;bottom:32px;left:4%;transform:rotate(0);font-size:10px;letter-spacing:2px;color:#d7c1ae}
.approach-section{background:#f7f2eb}.approach-head{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:end}.approach-head .eyebrow{grid-column:1/-1;margin-bottom:-35px}.approach-head h2{margin-bottom:30px}.approach-head>p:last-child{max-width:405px;margin-bottom:35px;line-height:1.8;color:#766659;font-size:18px}.approach-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:74px}.step{padding-top:4px}.step-num{font-family:var(--font-display);color:#a88769;font-size:50px;line-height:1}.step-rule{height:1px;background:#ad9680;margin:18px 0 24px;position:relative}.step-rule::before{content:'';position:absolute;right:0;top:-3px;border:4px solid #a88769;border-radius:50%}.step h3{font-family:var(--font-display);font-size:27px;font-weight:500;margin:0 0 8px}.step p{line-height:1.8;color:#79685a;margin:0;font-size:15px;max-width:210px}
.editorial-quote{background:#261b16;color:#fff;position:relative;overflow:hidden;padding:130px 0;text-align:center}.editorial-quote .quote-grain{position:absolute;inset:0;background:linear-gradient(120deg,#1c1512df,#33251be0),url('/assets/architecture.webp') center/cover;opacity:.7}.quote-wrap{position:relative}.quote-wrap .eyebrow{justify-content:center;letter-spacing:2px}.editorial-quote blockquote{font:400 clamp(40px,5vw,73px)/1.3 var(--font-display);margin:25px 0 35px}.editorial-quote em{color:#d8b390}.quote-rule{display:block;width:80px;height:1px;background:#a18060;margin:0 auto 27px}.quote-wrap>span:last-child{font-size:13px;color:#c9b6a5}
.partners{padding-bottom:110px;background:#f9f6f0;overflow:hidden}.partners-head{display:flex;align-items:end;justify-content:space-between;gap:50px}.partners-head h2{font:400 clamp(39px,4vw,60px)/1.13 var(--font-display);margin:0}.partners-head>p{max-width:390px;color:#78675a;line-height:1.8}.logo-marquee{overflow:hidden;margin-top:65px;border-block:1px solid #dccab7;padding-block:30px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.logo-track{width:max-content;display:flex;align-items:center;gap:65px;animation:marquee 35s linear infinite;white-space:nowrap}.logo-track span{font:500 26px var(--font-display);color:#8d8072}.logo-track b{font-size:11px;color:#c1a284}.logo-marquee:hover .logo-track{animation-play-state:paused}
.contact-section{background:#36271f;color:#f8f1e8;position:relative;overflow:hidden}.contact-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 0 30%,#94674242,transparent 45%),linear-gradient(90deg,#1d1512b0,#302019b0),url('/assets/architecture.webp') center/cover;opacity:.38}.contact-grid{position:relative;display:grid;grid-template-columns:.95fr 1.05fr;gap:12%;align-items:center}.contact-intro .display-heading{font-size:clamp(50px,5vw,81px);margin-top:0;color:#faf4ec}.contact-intro .display-heading em{color:#dbb895}.contact-intro>p:not(.eyebrow){color:#d5c4b6;line-height:1.9;font-size:18px;max-width:450px}.contact-detail{display:block;color:#af8f75;letter-spacing:2px;font-size:11px;margin-top:65px}.contact-form{background:#f3eae0;padding:45px;color:#30221c;box-shadow:0 35px 90px #130c0a33;display:grid;gap:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#644e3e}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 0;background:transparent;border:0;border-bottom:1px solid #c6ad98;border-radius:0;outline:none;color:#30231c;resize:vertical}.contact-form :is(input,select,textarea):focus{border-color:#7c512d;box-shadow:0 1px 0 #7c512d}.contact-form ::placeholder{color:#a18d7b}.contact-form .submit-button{background:#60442e;color:white;justify-content:space-between}.contact-form .submit-button:hover{background:#302118}.form-status{min-height:21px;font-size:12px;margin:0;color:#72543c}
.site-footer{background:#f3eadd}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start;padding:70px 0}.footer-wordmark{font-size:51px}.footer-wordmark span{font-size:12px;color:#87715e}.footer-saying{font:400 29px/1.35 var(--font-display)}.footer-links{display:flex;gap:15px;flex-wrap:wrap;justify-content:flex-end;line-height:2.1;font-size:14px}.footer-links a{border-bottom:1px solid transparent}.footer-links a:hover{border-color:#98795e}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #d8cbbd;padding:22px 0;color:#78685d;font-size:12px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes marquee{to{transform:translateX(50%)}}@keyframes heroReveal{from{filter:brightness(1.15);transform:scale(1.08)}to{filter:brightness(1);transform:scale(1.02)}}
/* On desktop only, use a true responsive image for the hero; mobile/tablet keep their original background and layout. */
.hero-desktop-picture{display:none}
@media (min-width:1101px){.hero-image{background-image:none}.hero-desktop-picture{display:block;width:100%;height:100%}.hero-desktop-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}}
@media (max-width:1100px){.shell{width:min(100% - 56px,980px)}.nav-links{gap:17px}.nav-cta{padding:12px 14px;gap:8px}.hero-text{width:57%}.hero h1{font-size:clamp(45px,5.4vw,68px)}.quiet-points{gap:14px;font-size:11px}.intro-grid{gap:6%}.intro-photo{min-height:460px}.intro-photo img{height:460px}.product-tile{height:420px}.material-frame{height:255px;width:76px}.approach-steps{gap:20px}}
@media (max-width:800px){.shell{width:calc(100% - 44px)}.site-header{height:78px}.site-header.scrolled{height:72px}.wordmark-name{font-size:32px}.nav-cta{margin-inline-start:auto;font-size:12px}.menu-toggle{display:block;flex-shrink:0}.nav-links{display:none;position:absolute;right:0;left:0;top:100%;padding:24px;background:rgba(250,245,237,.97);box-shadow:0 20px 35px #281e1620;flex-direction:column;align-items:stretch;gap:7px}.nav-links.open{display:flex}.nav-links a{font-size:17px;padding:11px 24px}.hero{height:720px}.hero-image{background-position:57% center}.hero-text{width:64%}.hero h1{font-size:55px}.hero-description{font-size:17px}.hero-index{margin-top:40px}.quiet-strip-inner{flex-direction:column;gap:14px}.quiet-points{width:100%;justify-content:space-around;flex-wrap:wrap}.intro-grid{grid-template-columns:1fr;gap:55px}.intro-copy{padding:0}.intro-photo img{height:490px}.photo-float{right:10px}.product-gallery{gap:12px}.product-tile{height:370px}.material-frame{height:210px;width:70px}.tile-copy{height:86px;padding:15px}.tile-copy strong{font-size:23px}.project-feature{min-height:600px}.approach-head{display:block}.approach-steps{grid-template-columns:repeat(2,1fr);row-gap:45px}.contact-grid{gap:6%;grid-template-columns:.9fr 1.1fr}.contact-form{padding:30px}.form-grid{grid-template-columns:1fr}.footer-main{gap:20px}}
@media (max-width:580px){.site-header{height:72px}.nav-wrap{gap:10px}.wordmark-name{font-size:29px}.wordmark-caption{font-size:8px}.nav-cta{font-size:0;gap:0;padding:11px}.nav-cta span{font-size:18px}.hero{height:auto;min-height:790px;display:flex;flex-direction:column;justify-content:flex-end}.hero-image{background-image:url('/assets/hero-selected-20261029-800.webp');background-image:image-set(url('/assets/hero-selected-20261029-800.webp') 1x,url('/assets/hero-selected-20261029-1600.webp') 2x);background-position:95% top;background-size:auto 65%;background-repeat:no-repeat}.hero-copy{height:auto;flex:none;display:block;padding-top:360px;padding-bottom:85px;direction:rtl}.hero-text{width:100%;padding:0}.hero h1{font-size:clamp(45px,11vw,64px);margin-bottom:17px}.hero-description{line-height:1.7;font-size:17px;margin-bottom:25px}.hero-buttons{gap:14px}.btn{gap:20px;padding:14px 18px;font-size:14px}.text-link{font-size:13px;gap:9px}.hero-index{margin-top:35px}.hero-scroll{bottom:22px;left:22px}.quiet-strip{padding:24px 0}.quiet-strip p{font-size:25px}.quiet-points{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;text-align:center}.padded-section{padding:82px 0}.eyebrow{font-size:11px}.display-heading{font-size:clamp(43px,10vw,63px)}.intro-copy>p:not(.eyebrow){font-size:17px}.intro-photo{min-height:340px}.intro-photo img{height:340px}.intro-photo::after{left:-9px;bottom:-10px}.photo-float{width:156px;padding:13px;bottom:-20px}.photo-float strong{font-size:29px}.photo-float small{font-size:9px}.section-header.centered{margin-bottom:35px}.product-gallery{grid-template-columns:1fr;gap:17px}.product-tile{height:360px}.material-scene{height:275px}.material-frame{height:215px;width:72px}.tile-copy{height:85px}.collection-foot{display:flex;align-items:start;flex-direction:column;gap:10px}.project-feature{min-height:610px}.project-cover{background:linear-gradient(to left,#211914e8,#21191485)}.project-copy .display-heading{font-size:50px}.project-copy>p:not(.eyebrow){font-size:16px}.approach-head>p:last-child{font-size:16px}.approach-steps{grid-template-columns:1fr 1fr;gap:27px 15px;margin-top:40px}.step h3{font-size:23px}.step p{font-size:13px}.step-num{font-size:39px}.editorial-quote{padding:93px 0}.editorial-quote blockquote{font-size:35px}.partners-head{display:block}.partners-head>p{font-size:16px}.logo-track span{font-size:21px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-intro .display-heading{font-size:52px}.contact-detail{display:none}.contact-form{padding:25px}.footer-main{grid-template-columns:1fr 1fr;padding:55px 0}.footer-wordmark{grid-column:1/-1}.footer-saying{font-size:22px}.footer-links{justify-content:flex-start;gap:10px}.footer-bottom{flex-direction:column;gap:8px}.reveal{transform:translateY(13px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

.site-header:not(.scrolled) .wordmark{color:#f9eddf;text-shadow:0 1px 10px #100b0970}
.site-header:not(.scrolled) .wordmark-caption{color:#f1dbc3}


/* Header refinement: a transparent original logo at the far left,
   and the seven planned pages immediately to its right (visual-only for now). */
.nav-wrap{justify-content:flex-end;gap:clamp(16px,2.1vw,34px)}
.nav-links{margin:0;gap:clamp(10px,1.2vw,23px);flex:0 1 auto;white-space:nowrap}
.nav-links .nav-item{font-size:clamp(14px,1.08vw,17px);font-weight:700;line-height:1.35;padding:14px 0;position:relative;color:#40342b;cursor:default}
.nav-links .nav-item.is-active{color:#302018}
.nav-links .nav-item.is-active::after{content:"";position:absolute;bottom:8px;right:0;left:0;height:2px;background:#987657}
.brand-logo{display:block;width:184px;flex:0 0 184px;line-height:0;align-self:center}
.brand-logo img{width:100%;height:auto;object-fit:contain}
/* Classic serif heritage contrasted with a clear modern sans-serif line. */
.hero h1 .hero-title-tradition{display:block;font-family:'Amatic SC',sans-serif;font-size:clamp(86px,7.1vw,126px);font-weight:700;line-height:.88;letter-spacing:0;color:#352319}
.hero h1 .hero-title-modern{display:block;font-family:'Secular One',sans-serif;font-size:clamp(42px,3.7vw,68px);font-weight:400;line-height:1.3;letter-spacing:-1px;color:#946747;white-space:nowrap}
@media (min-width:801px) and (max-width:1250px){
  .nav-wrap{gap:18px}
  .nav-links{gap:clamp(9px,1vw,15px)}
  .nav-links .nav-item{font-size:clamp(13px,1.24vw,15px)}
  .brand-logo{width:155px;flex-basis:155px}
}
@media (max-width:800px){
  .nav-wrap{justify-content:space-between}
  .menu-toggle{order:1}
  .brand-logo{order:2;width:150px;flex:0 0 150px}
  .nav-links{gap:8px;white-space:normal}
  .nav-links .nav-item{font-size:17px;font-weight:700;padding:10px 18px}
  .nav-links .nav-item.is-active::after{bottom:5px;left:auto;width:35px}
  .hero h1 .hero-title-tradition{font-size:clamp(76px,9vw,105px)}
  .hero h1 .hero-title-modern{font-size:clamp(37px,5.3vw,55px)}
}
@media (max-width:580px){
  .brand-logo{width:135px;flex-basis:135px}
  .hero h1 .hero-title-tradition{font-size:clamp(68px,15vw,92px)}
  .hero h1 .hero-title-modern{font-size:clamp(31px,8vw,43px);white-space:normal;letter-spacing:-.5px}
}

/* Desktop header: navigation in an upper, left-anchored row; brand slightly lower beneath it.
   Mobile/tablet navigation layout is intentionally preserved for the later responsive pass. */
@media (min-width:801px){
  .site-header{height:158px}
  .site-header.scrolled{height:126px}
  .nav-wrap{position:relative;display:block;height:100%}
  .nav-links{position:absolute;top:5px;left:0;right:auto;display:flex;justify-content:flex-end;align-items:center;width:max-content;max-width:100%;margin:0}
  .brand-logo{position:absolute;top:57px;left:0;right:auto;align-self:auto}
  .site-header.scrolled .nav-links{top:1px}
}
@media (min-width:801px) and (max-width:1050px){
  .nav-links{gap:8px}
  .nav-links .nav-item{font-size:clamp(11px,1.25vw,13px)}
}

/* Responsive desktop alignment of hero text and top navigation.
   Keep image composition, typography and the <=800px layouts intact.
   Target a shared visual left rail with enough space on the light side of the photograph. */
@media (min-width:1101px) {
  :root { --hero-rail-left:max(46px, calc(39vw - 540px)); }
  .hero-copy.shell {
    width:100%;
    max-width:none;
    margin-inline:0;
  }
  .hero-text {
    width:min(540px, calc(39vw - 46px));
    margin-left:var(--hero-rail-left);
    margin-right:0;
  }
  .nav-wrap.shell {
    width:100%;
    max-width:none;
    margin-inline:0;
  }
  .nav-links {
    left:var(--hero-rail-left);
    gap:clamp(9px,0.85vw,15px);
  }
  .nav-links .nav-item {
    font-size:clamp(13px,0.87vw,15px);
  }
  .brand-logo {
    left:var(--hero-rail-left);
  }
}
@media (min-width:801px) and (max-width:1100px) {
  .hero-text {
    width:min(470px,48%);
    margin-left:0;
  }
  .nav-links {
    gap:8px;
  }
  .nav-links .nav-item {
    font-size:clamp(11px,1.18vw,13px);
  }
}
/* Fine-tune the same desktop composition across wide and narrower laptops. */
@media (min-width:1500px){
  .hero h1 .hero-title-tradition{font-size:clamp(103px,5.7vw,112px);white-space:nowrap}
}
@media (min-width:801px) and (max-width:1250px){
  .hero-buttons{flex-wrap:nowrap;gap:14px}
  .hero-buttons .btn{font-size:14px;gap:15px;padding:14px 17px;white-space:nowrap}
  .hero-buttons .text-link{font-size:14px;gap:9px;white-space:nowrap}
}
@media (min-width:901px) and (max-width:1100px){
  .hero-text{width:43%}
  .hero h1 .hero-title-tradition{font-size:clamp(77px,7.9vw,88px)}
}

/* Keep the navigation visually identical before and after scrolling.
   Only its positioning becomes fixed; the logo is in the naturally scrolling hero.
   No chips, curtains, resized text, moved links or new backgrounds. */
.site-header.scrolled{
  height:64px;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  pointer-events:none;
}
.site-header.scrolled .nav-wrap{pointer-events:none}
@media (min-width:801px){
  .site-header.scrolled .nav-links{
    top:5px;
    pointer-events:auto;
  }
}
@media (max-width:800px){
  .site-header.scrolled{height:78px}
  .site-header.scrolled .menu-toggle{pointer-events:auto}
  .site-header.scrolled .nav-links.open{pointer-events:auto}
}
@media (max-width:580px){
  .site-header.scrolled{height:72px}
}
/* Preserve hierarchy: the filled contact action is primary; the project link is secondary. */
.hero-buttons .btn-primary{justify-content:center;gap:0}
.hero-buttons .text-link{gap:0}

/* Brand is part of the scrolling hero, not the sticky header.
   Its initial coordinates match the original masthead at each screen width. */
.hero > .brand-logo {
  position:absolute;
  z-index:10;
  top:57px;
  left:max(28px, calc((100vw - 980px)/2));
  right:auto;
  margin:0;
}
@media (min-width:1101px) {
  .hero > .brand-logo { left:var(--hero-rail-left); }
}
@media (max-width:800px) {
  .hero > .brand-logo { top:1px;left:22px; }
}
@media (max-width:580px) {
  .hero > .brand-logo { top:2px; }
}

/* Refine hero proportions: logo 13-15% smaller, content raised without enlarging text. */
.hero > .brand-logo{width:160px;flex-basis:160px}
@media (min-width:801px) {
  .hero-text{padding-block:80px 40px}
}
@media (min-width:801px) and (max-width:1250px) {
  .hero > .brand-logo{width:135px;flex-basis:135px}
}
@media (min-width:581px) and (max-width:800px) {
  .hero > .brand-logo{width:130px;flex-basis:130px}
}
@media (max-width:580px) {
  .hero > .brand-logo{width:117px;flex-basis:117px}
}

/* Hero typography: clear product/service descriptor, and a subtly fuller Amatic headline. */
.hero-description .hero-description-lead{font:inherit;font-weight:700}
.hero h1 .hero-title-tradition{
  -webkit-text-stroke:.85px currentColor;
  paint-order:stroke fill;
}
@media (max-width:580px){
  .hero h1 .hero-title-tradition{-webkit-text-stroke:.55px currentColor}
}



/* Compact, art-directed Section 2 with unframed original-color logo marks. */
.solution-showcase{background:linear-gradient(145deg,#f4ede4 0%,#fbf7f2 50%,#f2e9dd 100%);padding:clamp(64px,5.1vw,86px) 0 clamp(43px,3.8vw,62px);overflow:hidden}
.solution-showcase-heading{text-align:center;max-width:1100px;margin:0 auto clamp(22px,2.3vw,32px)}
.solution-kicker{display:flex;justify-content:center;align-items:center;gap:18px;color:#946b46;font-size:15px;font-weight:700;margin:0 0 14px}
.solution-kicker span{width:51px;height:1px;background:#b89270}
.solution-showcase-heading h2{font:500 clamp(43px,5vw,73px)/1.12 var(--font-display);letter-spacing:-1px;color:#332218;margin:0 0 10px}
.solution-subtitle{font-size:clamp(16px,1.35vw,20px);line-height:1.55;color:#6a5547;margin:0 auto;max-width:1050px}
.solution-windows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,21px);direction:rtl;padding:5px 4px 12px}
.solution-window{height:clamp(288px,26vw,370px);position:relative;overflow:hidden;isolation:isolate;background:#d6c3ad;box-shadow:0 10px 28px #6d48351a;transition:transform .38s ease,box-shadow .38s ease}
.solution-window img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.solution-window::after{content:'';position:absolute;inset:47% 0 0;background:linear-gradient(180deg,transparent 0%,#1b130d10 30%,#130b07b9 100%);z-index:1;pointer-events:none}
.solution-window h3{position:absolute;z-index:2;right:12px;left:12px;bottom:19px;margin:0;color:#fff5e9;text-align:center;font:500 clamp(22px,2.2vw,32px)/1.22 var(--font-display);text-shadow:0 2px 10px #1e110e70}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.solution-window:hover{transform:translateY(-8px);box-shadow:0 22px 40px #6d48352b}}
.clients-showcase{padding-top:clamp(29px,2.9vw,42px)}
.clients-showcase h3{display:flex;justify-content:center;align-items:center;gap:24px;font:500 clamp(29px,2.8vw,39px)/1.25 var(--font-display);color:#6c482b;margin:0 20px 17px}
.clients-showcase h3 span{height:1px;width:clamp(40px,8vw,108px);background:#bea082}
.client-logos-marquee{display:flex;flex-direction:column;gap:11px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.client-logos-row{width:100%;overflow:hidden;direction:ltr}
.client-logos-track{display:flex;width:max-content;animation:clients-scroll 79s linear infinite paused;will-change:transform}
.client-logos-marquee.is-ready .client-logos-track{animation-play-state:running}
.client-logos-row--1 .client-logos-track{animation-direction:reverse}
.client-logos-row--2 .client-logos-track{animation-duration:77s}
.client-logos-set{display:flex;gap:26px;padding-right:26px;flex:none}
.client-logo{width:172px;height:72px;flex:none;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.client-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:none;mix-blend-mode:normal}

@keyframes clients-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:800px){.solution-showcase{padding:66px 0 60px}.solution-showcase-heading h2{font-size:clamp(40px,5.7vw,55px)}.solution-window{height:300px}.solution-window h3{font-size:24px;right:8px;left:8px;bottom:17px}.clients-showcase{padding-top:28px}.client-logo{width:142px;height:63px}.client-logos-set{gap:22px;padding-right:22px}}
@media (max-width:580px){.solution-showcase{padding:70px 0 70px}.solution-showcase-heading{margin-bottom:28px}.solution-showcase-heading h2{font-size:clamp(42px,10vw,58px)}.solution-subtitle{font-size:17px;line-height:1.7}.solution-windows{grid-template-columns:1fr;gap:18px;padding:0}.solution-window{height:350px}.solution-window h3{font-size:31px}.clients-showcase{padding-top:44px}.clients-showcase h3{margin-bottom:18px}.client-logos-marquee{gap:9px}.client-logo{width:132px;height:66px}.client-logos-set{gap:17px;padding-right:17px}}
@media (prefers-reduced-motion:reduce){.client-logos-track{animation:none;will-change:auto}.client-logos-row{overflow-x:auto}.solution-window{transition:none}}

/* Section two final tightening and stable desktop navigation background. */
@media (min-width:801px){
  .site-header .nav-links,
  .site-header.scrolled .nav-links{
    padding:0 15px;
    background:rgba(246,240,232,.97);
    border:1px solid rgba(151,113,84,.23);
    border-radius:9px;
    box-shadow:0 5px 19px rgba(51,35,24,.09);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
}
.solution-showcase{padding-top:clamp(42px,3.2vw,57px);padding-bottom:clamp(26px,2.45vw,39px)}
.solution-showcase-heading{max-width:1260px;margin-bottom:clamp(12px,1.1vw,18px)}
.solution-kicker{margin-bottom:9px;font-size:14px}
.solution-showcase-heading h2{font-size:clamp(36px,3.65vw,59px);line-height:1.15;letter-spacing:-.65px;margin-bottom:8px}
.solution-subtitle{font-size:clamp(15px,1.2vw,18px);line-height:1.45;max-width:1230px}
.solution-windows{padding:0 4px 7px}
.solution-window{height:clamp(265px,21vw,310px)}
.clients-showcase{padding-top:clamp(14px,1.45vw,22px)}
.clients-showcase h3{font-size:clamp(27px,2.45vw,36px);margin-bottom:10px}
.client-logos-marquee{gap:8px}
.client-logo{height:60px}
@media (max-width:800px){
  .solution-showcase{padding:62px 0 54px}
  .solution-showcase-heading{margin-bottom:23px}
  .solution-showcase-heading h2{font-size:clamp(34px,5.8vw,48px)}
  .solution-subtitle{font-size:16px;line-height:1.6}
  .solution-window{height:275px}
  .clients-showcase{padding-top:26px}
  .client-logo{height:60px}
}
@media (max-width:580px){
  .solution-showcase{padding:64px 0 66px}
  .solution-showcase-heading h2{font-size:clamp(37px,9vw,52px)}
  .solution-window{height:340px}
  .client-logo{height:62px}
}

/* The third chapter: an intimate, confident promise backed by a precise working method. */
.heritage-section{
  position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse 100% 80% at 10% 40%,rgba(119,79,48,.22),transparent 65%),linear-gradient(117deg,#271b16 0%,#34261f 46%,#211813 100%);
  color:#f6ecdd;padding:clamp(63px,6vw,91px) 0 clamp(57px,5vw,78px);
}
.heritage-section::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:radial-gradient(rgba(218,173,127,.12) .65px,transparent .8px);
  background-size:8px 8px;opacity:.21;
}
.heritage-ambient{
  position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(ellipse at 70% 0%,rgba(175,121,76,.13),transparent 55%);
}
.heritage-architecture{
  position:absolute;z-index:-1;left:-125px;top:-8px;width:min(51vw,690px);
  height:auto;color:#c5a17b;opacity:.19;pointer-events:none;
  transform:rotate(-1deg);
}
.heritage-inner{position:relative;text-align:center}
.heritage-head{max-width:1120px;margin:0 auto}
.heritage-title{font-family:var(--font-display);font-weight:400;margin:0;letter-spacing:-.45px}
.heritage-context{display:block;color:#dac3a9;font-size:clamp(26px,2.65vw,39px);line-height:1.5;max-width:1000px;margin-inline:auto}
.heritage-promise{display:block;margin:7px auto 0;color:#fff8ed;font-size:clamp(41px,4.45vw,66px);line-height:1.21;max-width:1100px}
.heritage-promise em{font-style:normal;color:#d6ad83;white-space:nowrap}
.heritage-divider{display:block;width:82px;height:1px;margin:25px auto 19px;background:linear-gradient(90deg,transparent,#bb9873,transparent)}
.heritage-bridge{font-family:var(--font-body);font-size:clamp(16px,1.35vw,19px);line-height:1.7;color:#e0ccba;max-width:820px;margin:0 auto}
.heritage-method{position:relative;margin-top:clamp(53px,5.15vw,78px);text-align:right}
.heritage-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(21px,3.5vw,56px);list-style:none;margin:0;padding:0}
.heritage-step{min-width:0;position:relative}
.heritage-step-number{font-family:var(--font-display);display:block;color:#cba47f;font-size:clamp(32px,3.5vw,47px);line-height:1.08;letter-spacing:.025em;margin-bottom:20px}
.heritage-step h3{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.12vw,29px);line-height:1.22;margin:0 0 11px;color:#faf1e4}
.heritage-step p{font-size:clamp(14px,1.15vw,16px);line-height:1.75;margin:0;max-width:260px;color:#d4bfac}
.heritage-method-rule{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(21px,3.5vw,56px);position:absolute;top:75px;right:0;left:0;z-index:1;pointer-events:none}
.heritage-method-rule::before{content:"";position:absolute;right:0;left:0;top:0;border-top:1px solid rgba(210,170,128,.49)}
.heritage-method-rule span{width:9px;height:9px;background:#c9a681;border:2px solid #34251c;border-radius:50%;position:relative;right:0;top:-4px;box-shadow:0 0 0 4px rgba(201,166,129,.1)}
.heritage-cta{display:inline-flex;gap:24px;align-items:center;font-weight:600;color:#edd3b7;border-bottom:1px solid rgba(209,165,122,.55);font-size:15px;padding:9px 0;margin-top:39px;transition:color .25s,gap .25s}
.heritage-cta:hover,.heritage-cta:focus-visible{color:#fff;gap:34px}
.heritage-cta span{font-size:20px;line-height:1}
@media(max-width:1100px) and (min-width:801px){
  .heritage-promise{font-size:clamp(40px,4.4vw,49px)}
  .heritage-context{font-size:clamp(27px,2.8vw,32px)}
  .heritage-method-rule{top:65px}
  .heritage-architecture{width:57vw;left:-165px}
  .heritage-step-number{margin-bottom:20px}
}
@media(max-width:800px){
  .heritage-section{padding:74px 0 72px}
  .heritage-architecture{width:570px;max-width:90vw;left:-170px;top:15px;opacity:.12}
  .heritage-context{font-size:clamp(25px,3.6vw,32px);line-height:1.45}
  .heritage-promise{font-size:clamp(37px,6.2vw,49px)}
  .heritage-method{margin-top:62px}
  .heritage-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 44px}
  .heritage-method-rule{display:none}
  .heritage-step{padding-top:17px;border-top:1px solid rgba(210,170,128,.34)}
  .heritage-step::before{content:"";position:absolute;right:0;top:-5px;width:8px;height:8px;border-radius:50%;background:#c9a681;box-shadow:0 0 0 4px rgba(201,166,129,.13)}
  .heritage-step-number{margin:0 0 12px;font-size:35px}
  .heritage-cta{margin-top:40px}
}
@media(max-width:580px){
  .heritage-section{padding:67px 0 68px}
  .heritage-architecture{top:58px;left:-192px;width:510px;max-width:none;opacity:.12}
  .heritage-context{font-size:clamp(23px,5.7vw,30px);line-height:1.37}
  .heritage-promise{font-size:clamp(37px,9.2vw,51px);line-height:1.22;margin-top:12px}
  .heritage-promise em{white-space:normal}
  .heritage-divider{margin:26px auto 20px}
  .heritage-bridge{font-size:16px;line-height:1.8}
  .heritage-method{margin-top:56px}
  .heritage-steps{grid-template-columns:1fr;gap:0;position:relative;padding-right:27px}
  .heritage-steps::before{content:"";position:absolute;right:3px;top:21px;bottom:35px;border-right:1px solid rgba(210,170,128,.45)}
  .heritage-step{padding:0 0 29px;border:0;position:relative}
  .heritage-step:last-child{padding-bottom:0}
  .heritage-step::before{right:-27px;top:12px}
  .heritage-step-number{font-size:32px;margin:0 0 7px}
  .heritage-step h3{font-size:28px;margin-bottom:5px}
  .heritage-step p{font-size:15px;max-width:360px}
  .heritage-cta{margin-top:41px}
}
@media(prefers-reduced-motion:reduce){.heritage-cta{transition:none}}

/* Real product examples: three calm, square image-led cards with a gentle shifting carousel. */
.collection-section .section-header.centered{margin-bottom:39px}
.collection-section .section-header.centered>p:last-child{max-width:635px}
.product-carousel{--gallery-gap:22px;--gallery-count:3;max-width:100%;position:relative}
.product-carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}
.product-carousel-label{font-size:13px;font-weight:700;color:#92775f;letter-spacing:.01em}
.product-carousel-controls{direction:rtl;display:flex;gap:8px;align-items:center}
.product-carousel-arrow{display:grid;place-items:center;background:#f7f1e8;border:1px solid #cbb6a0;color:#58412f;border-radius:50%;width:40px;height:40px;font-size:22px;line-height:1;transition:background .22s,border-color .22s,color .22s,transform .22s}
.product-carousel-arrow:hover,.product-carousel-arrow:focus-visible{background:#573e2d;color:#fff;border-color:#573e2d;transform:translateY(-2px)}
.product-carousel-arrow:focus-visible{outline:2px solid #89684d;outline-offset:3px}
.product-carousel-viewport{width:100%;overflow:hidden;touch-action:pan-y;overscroll-behavior-x:contain}
.product-carousel-track{display:flex;flex-wrap:nowrap;direction:rtl;width:100%;gap:var(--gallery-gap);will-change:transform;transform:translate3d(0,0,0)}
.product-carousel-card{flex:0 0 calc((100% - 44px) / 3);min-width:0;background:#faf7f2;box-shadow:0 12px 30px rgba(61,44,29,.095)}
.product-card-image{width:100%;aspect-ratio:1/1;overflow:hidden;background:#dfd2c0}
.product-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.product-carousel-card:hover .product-card-image img{transform:scale(1.027)}}
.product-card-copy{padding:20px 23px 24px;min-height:139px;text-align:right}
.product-card-index{display:block;color:#b29677;font-size:10px;font-weight:700;letter-spacing:.025em;line-height:1.2}
.product-card-copy h3{font-family:var(--font-display);font-size:clamp(25px,2.3vw,32px);line-height:1.16;font-weight:500;margin:8px 0 6px;color:#302118}
.product-card-copy p{color:#7a6b5e;line-height:1.55;font-size:14px;margin:0}
.product-carousel-footer{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:31px;color:#776758}
.product-carousel-footer p{font-size:15px;line-height:1.6;margin:0}
.product-carousel-footer .inline-action{white-space:nowrap}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:800px){
  .product-carousel{--gallery-count:2;--gallery-gap:16px}
  .product-carousel-card{flex-basis:calc((100% - 16px) / 2)}
  .product-card-copy{padding:16px 17px 21px;min-height:134px}
  .product-card-copy h3{font-size:26px}
  .product-card-copy p{font-size:13px}
  .product-carousel-footer{flex-direction:column;align-items:flex-start;gap:3px}
}
@media(max-width:580px){
  .collection-section .section-header.centered{margin-bottom:26px}
  .product-carousel{--gallery-count:1;--gallery-gap:15px}
  .product-carousel-toolbar{margin-bottom:14px}
  .product-carousel-card{flex-basis:100%}
  .product-card-copy{min-height:121px;padding:17px 19px 21px}
  .product-card-copy h3{font-size:29px}
  .product-card-copy p{font-size:14px}
  .product-carousel-arrow{width:39px;height:39px}
  .product-carousel-footer{margin-top:24px;gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .product-carousel-track{will-change:auto}
  .product-card-image img,.product-carousel-arrow{transition:none}
}


/* Gallery refinement — compact composition; 3 smaller cards; arrows alongside the images. */
.collection-section.padded-section{
  padding:clamp(47px,3.7vw,63px) 0 clamp(57px,5.1vw,75px);
}
.collection-section .section-header.centered{
  max-width:860px;
  margin:0 auto clamp(18px,2vw,27px);
}
.collection-section .section-header.centered .display-heading{
  font-size:clamp(42px,4.2vw,65px);
  line-height:1.06;
  margin-bottom:11px;
  letter-spacing:-.55px;
}
.collection-section .section-header.centered>p:last-child{
  font-size:clamp(15px,1.22vw,17px);
  line-height:1.5;
}
.product-carousel{--gallery-gap:18px;--gallery-count:3}
.product-carousel-stage{
  max-width:1050px;
  margin-inline:auto;
  position:relative;
  container-type:inline-size;
}
.product-carousel-track{gap:var(--gallery-gap)}
.product-carousel-card{
  flex-basis:calc((100% - 36px) / 3);
  box-shadow:0 10px 26px rgba(61,44,29,.09);
}
.product-carousel-controls{
  position:absolute;
  z-index:5;
  inset-inline:-21px;
  top:0;
  height:calc((100cqw - 36px) / 3);
  display:flex;
  align-items:center;
  justify-content:space-between;
  direction:rtl;
  pointer-events:none;
}
.product-carousel-arrow{
  pointer-events:auto;
  width:42px;height:42px;
  background:rgba(249,243,235,.96);
  border:1px solid #ceb89f;
  box-shadow:0 3px 13px rgba(50,34,24,.12);
  backdrop-filter:blur(7px);
}
.product-card-copy{padding:15px 19px 18px;min-height:104px}
.product-card-copy h3{
  margin:0 0 6px;
  font-size:clamp(23px,2vw,29px);
}
.product-card-copy p{font-size:13px;line-height:1.5}
.product-carousel-footer{
  max-width:1050px;
  margin:22px auto 0;
}
@media(max-width:800px){
  .collection-section.padded-section{padding:51px 0 60px}
  .collection-section .section-header.centered .display-heading{font-size:clamp(42px,6vw,54px)}
  .product-carousel{--gallery-gap:16px;--gallery-count:2}
  .product-carousel-card{flex-basis:calc((100% - 16px) / 2)}
  .product-carousel-controls{height:calc((100cqw - 16px) / 2);inset-inline:-16px}
  .product-card-copy{padding:14px 15px 17px;min-height:104px}
  .product-card-copy h3{font-size:24px}
}
@media(max-width:580px){
  .collection-section.padded-section{padding:48px 0 60px}
  .collection-section .section-header.centered{margin-bottom:19px}
  .collection-section .section-header.centered .display-heading{font-size:clamp(42px,10vw,52px)}
  .product-carousel{--gallery-count:1;--gallery-gap:15px}
  .product-carousel-card{flex-basis:100%}
  .product-carousel-controls{height:100cqw;inset-inline:-8px}
  .product-carousel-arrow{width:37px;height:37px}
  .product-card-copy{padding:16px 17px 18px;min-height:99px}
  .product-card-copy h3{font-size:27px}
  .product-card-copy p{font-size:14px}
  .product-carousel-footer{margin-top:21px}
}


/* Desktop gallery height tuning: retain three cards, while keeping the closing line in view. */
@media (min-width:801px){
  .collection-section.padded-section{padding-top:clamp(29px,2.7vw,43px);padding-bottom:clamp(34px,3vw,49px)}
  .collection-section .section-header.centered{margin-bottom:clamp(13px,1.1vw,18px)}
  .collection-section .section-header.centered .display-heading{font-size:clamp(39px,3.7vw,58px);margin-bottom:7px}
  .collection-section .section-header.centered>p:last-child{font-size:16px;line-height:1.45}
  .product-carousel-stage,.product-carousel-footer{max-width:960px}
  .product-card-copy{min-height:92px;padding:12px 16px 14px}
  .product-card-copy h3{font-size:clamp(23px,1.9vw,27px);margin:0 0 5px}
  .product-card-copy p{font-size:13px}
  .product-carousel-footer{margin-top:14px}
  .product-carousel-footer p{font-size:14px}
}


/* Project CTA hierarchy — filled consultation CTA, restrained outlined portfolio CTA. */
.project-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:8px}
.project-actions .btn{justify-content:center;gap:0;padding:16px 23px;min-height:51px;white-space:nowrap}
.btn-project-secondary{background:rgba(41,29,22,.28);color:#f8ebdc;border-color:rgba(245,226,203,.73)}
.btn-project-secondary:hover,.btn-project-secondary:focus-visible{background:rgba(248,235,216,.16);border-color:#fff5e4;color:#fff}
.project-copy .project-actions{max-width:610px}
.project-copy>p:not(.eyebrow){margin-bottom:24px}

/* Lean contact form. Only name and phone are required. */
.contact-form .form-optional{font-size:12px;font-weight:400;color:#917762}
.contact-form{gap:17px}
.contact-form .submit-button{justify-content:center;min-height:48px}

/* Compact footer: real logo + one message + simple navigation. */
.site-footer{background:#f3eadd}
.site-footer .footer-main{
  display:grid;grid-template-columns:145px minmax(0,1.15fr) minmax(0,1.25fr);
  align-items:center;gap:clamp(14px,2.2vw,35px);padding:12px 0;
}
.footer-brand{display:block;width:137px;line-height:0}
.footer-brand img{display:block;width:100%;height:auto;object-fit:contain}
.site-footer .footer-saying{
  font-family:var(--font-body);font-size:clamp(14px,1.12vw,17px);
  font-weight:600;line-height:1.5;color:#5b4432;max-width:400px;
}
.site-footer .footer-links{justify-content:flex-end;gap:11px 17px;font-size:13px;line-height:1.6}
.site-footer .footer-bottom{padding:8px 0 10px;min-height:0;font-size:11px}
@media(max-width:1100px){
  .site-footer .footer-main{grid-template-columns:112px minmax(0,1fr) minmax(0,1.1fr);gap:18px;padding:13px 0}
  .footer-brand{width:105px}
  .site-footer .footer-links{gap:8px 12px;font-size:12px}
}
@media(max-width:800px){
  .site-footer .footer-main{grid-template-columns:115px 1fr;gap:9px 20px;padding:19px 0}
  .footer-brand{width:112px}
  .site-footer .footer-saying{font-size:15px;max-width:420px}
  .site-footer .footer-links{grid-column:1/-1;justify-content:center;flex-wrap:wrap;gap:8px 19px;padding:3px 0}
  .site-footer .footer-bottom{padding:9px 0 12px}
}
@media(max-width:580px){
  .project-actions{flex-wrap:wrap;gap:10px}
  .project-actions .btn{min-height:47px;padding:13px 18px;font-size:13px}
  .site-footer .footer-main{grid-template-columns:95px 1fr;gap:10px 14px;padding:15px 0 12px}
  .footer-brand{width:92px}
  .site-footer .footer-saying{font-size:13px;line-height:1.52}
  .site-footer .footer-links{gap:6px 13px;font-size:12px;justify-content:center}
  .site-footer .footer-bottom{font-size:10px;text-align:center;justify-content:center}
}


/* Portfolio destination: a truthful, branded shell until real cases and testimonials arrive. */
.portfolio-page{min-height:100vh;display:flex;flex-direction:column;background:#f4ede4}
.portfolio-header{background:#f3eadd;border-bottom:1px solid #ded0bf}
.portfolio-nav{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:16px}
.portfolio-brand{display:block;width:158px;line-height:0}
.portfolio-brand img{display:block;width:100%;height:auto}
.portfolio-back{font-weight:600;font-size:14px;color:#654730;border-bottom:1px solid #b99b7b;padding:9px 0}
.portfolio-main{flex:1;position:relative;isolation:isolate;background:radial-gradient(ellipse at 5% 85%,#e4d3bd,transparent 50%),#f5f0e9}
.portfolio-main::after{content:"";position:absolute;left:0;top:0;bottom:0;width:min(40vw,450px);pointer-events:none;opacity:.23;background:url('/assets/architecture.webp') center/cover;z-index:-1;mask-image:linear-gradient(90deg,#000,transparent)}
.portfolio-hero{padding:clamp(65px,9vw,130px) 0 95px}
.portfolio-kicker{color:#9f7b5b;font-size:14px;font-weight:700;letter-spacing:.025em}
.portfolio-hero h1{font:500 clamp(56px,7vw,99px)/1.13 var(--font-display);letter-spacing:-1px;color:#33241b;margin:20px 0 17px}
.portfolio-hero h1 em{font-style:normal;color:#9d7150}
.portfolio-lead{font-size:clamp(17px,1.5vw,21px);color:#6f5847;line-height:1.7;max-width:660px}
.portfolio-upcoming{margin-top:clamp(50px,6vw,85px);max-width:690px}
.portfolio-rule{display:block;width:75px;height:1px;background:#a78363;margin-bottom:19px}
.portfolio-upcoming h2{font:500 clamp(30px,3vw,42px)/1.25 var(--font-display);margin:0 0 11px;color:#37271f}
.portfolio-upcoming p{font-size:17px;color:#705c4d;line-height:1.8}
.portfolio-links{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:26px}
.portfolio-plain-link{border-bottom:1px solid #a88769;padding:8px 0;font-weight:600}
.portfolio-mini-footer{background:#eaddce;color:#6c5544;border-top:1px solid #dccdb9;font-size:12px;padding:17px 0}
@media(max-width:580px){.portfolio-nav{min-height:74px}.portfolio-brand{width:115px}.portfolio-hero{padding:65px 0 80px}.portfolio-main::after{opacity:.14}.portfolio-hero h1{font-size:53px}.portfolio-lead{font-size:17px}.portfolio-upcoming{margin-top:50px}}


/* Contact: clear hierarchy, structured fields, direct contact channels. */
.contact-section.padded-section{padding:clamp(72px,6.5vw,98px) 0}
.contact-grid{grid-template-columns:.92fr 1.08fr;gap:clamp(36px,6.3vw,90px)}
.contact-intro .display-heading{font-size:clamp(46px,4.7vw,73px);line-height:1.15;margin-bottom:20px}
.contact-intro>p:not(.eyebrow){font-size:17px;line-height:1.75}
.contact-direct{margin-top:32px;max-width:480px}
.contact-direct-kicker{color:#d7b38f;font-size:14px;font-weight:600;margin:0 0 13px}
.contact-direct-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.contact-direct-link{min-width:0;display:flex;align-items:center;gap:12px;padding:11px 13px;background:rgba(255,250,241,.055);border:1px solid rgba(237,211,183,.18);color:#f3e7d9;transition:background .22s,border-color .22s}
.contact-direct-link:hover,.contact-direct-link:focus-visible{background:rgba(255,250,241,.13);border-color:rgba(237,211,183,.46)}
.contact-direct-icon{width:32px;height:32px;flex:none;color:#e1bd97;display:grid;place-items:center}
.contact-direct-icon svg{width:21px;height:21px}
.contact-direct-text{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.contact-direct-label{font-size:12px;color:#c6ad95}
.contact-direct-text b{font-size:15px;font-weight:600;white-space:nowrap;color:#f5ede4}
.contact-email-link{grid-column:1/-1}
.contact-form{position:relative;gap:14px;padding:clamp(26px,3vw,40px);background:#f5eee6;border:1px solid rgba(222,202,180,.75);box-shadow:0 22px 72px rgba(16,11,8,.24)}
.contact-form::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,transparent,#b49271,transparent)}
.contact-form-heading{border-bottom:1px solid #ddcfc0;padding-bottom:13px;margin-bottom:4px}
.contact-form-heading h3{font:500 clamp(29px,2.45vw,36px)/1.2 var(--font-display);color:#30231b;margin:0 0 6px}
.contact-form-heading p{font-size:13px;color:#776459;line-height:1.55;margin:0}
.contact-form label{font-size:13px;gap:7px;color:#4b372b;font-weight:700}
.contact-field-title{display:block}
.required-mark{color:#a67757}
.contact-form input,.contact-form textarea{
  padding:12px 13px;min-height:45px;width:100%;
  color:#35251c;border:1px solid #d7c6b7;border-radius:4px;
  background:#fffaf4;outline:none;transition:border-color .18s,box-shadow .18s,background .18s;
}
.contact-form textarea{min-height:91px;resize:vertical}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{
  border-color:#916b4a;box-shadow:0 0 0 3px rgba(155,113,74,.16);background:#fff;
}
.contact-form .submit-button{margin-top:2px;min-height:48px;font-weight:700}
.contact-demo-note{font-size:11px;color:#917d6d;line-height:1.55;margin:0}
.form-status:empty{display:none}
.project-cta-disabled,.project-cta-disabled:hover,.project-cta-disabled:focus{
  cursor:default;opacity:.62;transform:none;filter:none;box-shadow:none;
  background:rgba(41,29,22,.28);color:#f8ebdc;border-color:rgba(245,226,203,.73);
}

/* One-row footer without a dividing line or duplicated navigation. */
.site-footer .footer-main{
 display:grid;grid-template-columns:95px minmax(0,1.35fr) auto auto;
 gap:clamp(13px,2vw,30px);align-items:center;
 padding:4px 0;
}
.site-footer .footer-brand{width:88px}
.site-footer .footer-saying{font-size:clamp(12px,.98vw,14px);font-weight:600;max-width:none;line-height:1.35}
.site-footer .footer-legal{display:flex;align-items:center;gap:16px;white-space:nowrap;font-size:12px;color:#88766a}
.site-footer .footer-legal span{cursor:default}
.site-footer .footer-copyright{font-size:10px;color:#8e7b6f;font-weight:400;white-space:nowrap}
.site-footer .footer-bottom,.site-footer .footer-links{display:none}
@media(max-width:1150px){
 .site-footer .footer-main{grid-template-columns:85px minmax(0,1fr) auto;gap:13px}
 .site-footer .footer-brand{width:78px}
 .site-footer .footer-legal{gap:10px;font-size:11px}
 .site-footer .footer-copyright{display:none}
}
@media(max-width:800px){
 .contact-section.padded-section{padding:70px 0 80px}
 .contact-grid{gap:40px}
 .contact-direct{max-width:550px}
 .contact-form{padding:28px}
 .site-footer .footer-main{grid-template-columns:83px minmax(0,1fr);padding:9px 0;gap:7px 13px}
 .site-footer .footer-brand{width:78px}
 .site-footer .footer-saying{font-size:13px}
 .site-footer .footer-legal{grid-column:1/-1;justify-content:center;gap:23px;padding:2px 0}
}
@media(max-width:580px){
 .contact-section.padded-section{padding:65px 0 70px}
 .contact-intro .display-heading{font-size:clamp(42px,10vw,56px)}
 .contact-intro>p:not(.eyebrow){font-size:16px}
 .contact-direct{margin-top:26px}
 .contact-direct-items{grid-template-columns:1fr}
 .contact-email-link{grid-column:auto}
 .contact-direct-link{padding:9px 12px}
 .contact-form{padding:23px 18px;gap:14px}
 .contact-form .form-grid{grid-template-columns:1fr;gap:14px}
 .site-footer .footer-main{padding:8px 0 5px}
 .site-footer .footer-brand{width:76px}
 .site-footer .footer-saying{font-size:12px}
 .site-footer .footer-legal{font-size:11px;padding:3px 0}
}

/* Mobile QA fix: the contact redesign must become one full-width column. */
@media(max-width:800px){
  .contact-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .contact-intro,.contact-form{min-width:0;width:100%}
  .contact-direct{max-width:100%}
}
@media(max-width:580px){
  .contact-direct-text b{font-size:14px}
  .contact-email-link .contact-direct-text b{overflow-wrap:anywhere;white-space:normal}
}


/* One contact number with separate tap targets for telephone and WhatsApp. */
.contact-direct-items{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-email-link{grid-column:auto}
.contact-phone-shared{justify-content:space-between;gap:8px;cursor:default}
.contact-phone-shared:hover{background:rgba(255,250,241,.055);border-color:rgba(237,211,183,.18)}
.contact-shared-actions{display:flex;align-items:center;gap:3px;flex:none}
.contact-icon-action{
  display:grid;place-items:center;
  width:36px;height:38px;flex:none;
  border-radius:4px;color:#e1bd97;
  transition:background .2s,color .2s;
}
.contact-icon-action svg{height:21px;width:21px}
.contact-icon-action:hover,.contact-icon-action:focus-visible{
  background:rgba(237,211,183,.14);color:#fff7e9;outline:1px solid rgba(237,211,183,.42)
}
@media(max-width:1150px){
  .contact-direct-items{grid-template-columns:minmax(0,1fr)}
  .contact-email-link{grid-column:auto}
  .contact-phone-shared{justify-content:flex-start;gap:15px}
}
@media(max-width:580px){
  .contact-phone-shared{justify-content:space-between}
  .contact-icon-action{width:42px;height:42px}
}
