:root{
  --ivory:#faf7f2; --peach:#f8d9c6; --accent:#983f25; --ink:#1e1a1c; --gold:#b89b72;
  /* Label text uses the accent for readability (5:1+ on ivory and peach). #b89b72 stays on rules, icons and dots only. */
  --label:#983f25;
  --step-line:#6a5332;
  --line:#8a7f80;
  --ease:cubic-bezier(.22,1,.36,1);
  --display:'Playfair Display',Georgia,'Times New Roman',serif;
  --script:'Pinyon Script','Snell Roundhand',cursive;
  --body:'Lato',system-ui,-apple-system,'Segoe UI',sans-serif;
  --lace:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath fill-rule='evenodd' d='M0 0H120V120H0ZM70.0 60.0A11 4.6 0 1 0 92.0 60.0A11 4.6 0 1 0 70.0 60.0ZM67.1 67.1A11 4.6 45 1 0 82.6 82.6A11 4.6 45 1 0 67.1 67.1ZM60.0 70.0A11 4.6 90 1 0 60.0 92.0A11 4.6 90 1 0 60.0 70.0ZM52.9 67.1A11 4.6 135 1 0 37.4 82.6A11 4.6 135 1 0 52.9 67.1ZM50.0 60.0A11 4.6 180 1 0 28.0 60.0A11 4.6 180 1 0 50.0 60.0ZM52.9 52.9A11 4.6 225 1 0 37.4 37.4A11 4.6 225 1 0 52.9 52.9ZM60.0 50.0A11 4.6 270 1 0 60.0 28.0A11 4.6 270 1 0 60.0 50.0ZM67.1 52.9A11 4.6 315 1 0 82.6 37.4A11 4.6 315 1 0 67.1 52.9ZM55.0 60.0A5 5 0 1 0 65.0 60.0A5 5 0 1 0 55.0 60.0ZM6.0 0.0A7 3.4 0 1 0 20.0 0.0A7 3.4 0 1 0 6.0 0.0ZM3.0 5.2A7 3.4 60 1 0 10.0 17.3A7 3.4 60 1 0 3.0 5.2ZM-3.0 5.2A7 3.4 120 1 0 -10.0 17.3A7 3.4 120 1 0 -3.0 5.2ZM-6.0 0.0A7 3.4 180 1 0 -20.0 0.0A7 3.4 180 1 0 -6.0 0.0ZM-3.0 -5.2A7 3.4 240 1 0 -10.0 -17.3A7 3.4 240 1 0 -3.0 -5.2ZM3.0 -5.2A7 3.4 300 1 0 10.0 -17.3A7 3.4 300 1 0 3.0 -5.2ZM-3.5 0.0A3.5 3.5 0 1 0 3.5 0.0A3.5 3.5 0 1 0 -3.5 0.0ZM126.0 0.0A7 3.4 0 1 0 140.0 0.0A7 3.4 0 1 0 126.0 0.0ZM123.0 5.2A7 3.4 60 1 0 130.0 17.3A7 3.4 60 1 0 123.0 5.2ZM117.0 5.2A7 3.4 120 1 0 110.0 17.3A7 3.4 120 1 0 117.0 5.2ZM114.0 0.0A7 3.4 180 1 0 100.0 0.0A7 3.4 180 1 0 114.0 0.0ZM117.0 -5.2A7 3.4 240 1 0 110.0 -17.3A7 3.4 240 1 0 117.0 -5.2ZM123.0 -5.2A7 3.4 300 1 0 130.0 -17.3A7 3.4 300 1 0 123.0 -5.2ZM116.5 0.0A3.5 3.5 0 1 0 123.5 0.0A3.5 3.5 0 1 0 116.5 0.0ZM6.0 120.0A7 3.4 0 1 0 20.0 120.0A7 3.4 0 1 0 6.0 120.0ZM3.0 125.2A7 3.4 60 1 0 10.0 137.3A7 3.4 60 1 0 3.0 125.2ZM-3.0 125.2A7 3.4 120 1 0 -10.0 137.3A7 3.4 120 1 0 -3.0 125.2ZM-6.0 120.0A7 3.4 180 1 0 -20.0 120.0A7 3.4 180 1 0 -6.0 120.0ZM-3.0 114.8A7 3.4 240 1 0 -10.0 102.7A7 3.4 240 1 0 -3.0 114.8ZM3.0 114.8A7 3.4 300 1 0 10.0 102.7A7 3.4 300 1 0 3.0 114.8ZM-3.5 120.0A3.5 3.5 0 1 0 3.5 120.0A3.5 3.5 0 1 0 -3.5 120.0ZM126.0 120.0A7 3.4 0 1 0 140.0 120.0A7 3.4 0 1 0 126.0 120.0ZM123.0 125.2A7 3.4 60 1 0 130.0 137.3A7 3.4 60 1 0 123.0 125.2ZM117.0 125.2A7 3.4 120 1 0 110.0 137.3A7 3.4 120 1 0 117.0 125.2ZM114.0 120.0A7 3.4 180 1 0 100.0 120.0A7 3.4 180 1 0 114.0 120.0ZM117.0 114.8A7 3.4 240 1 0 110.0 102.7A7 3.4 240 1 0 117.0 114.8ZM123.0 114.8A7 3.4 300 1 0 130.0 102.7A7 3.4 300 1 0 123.0 114.8ZM116.5 120.0A3.5 3.5 0 1 0 123.5 120.0A3.5 3.5 0 1 0 116.5 120.0ZM56.4 8.0A3.6 3.6 0 1 0 63.6 8.0A3.6 3.6 0 1 0 56.4 8.0ZM56.4 112.0A3.6 3.6 0 1 0 63.6 112.0A3.6 3.6 0 1 0 56.4 112.0ZM4.4 60.0A3.6 3.6 0 1 0 11.6 60.0A3.6 3.6 0 1 0 4.4 60.0ZM108.4 60.0A3.6 3.6 0 1 0 115.6 60.0A3.6 3.6 0 1 0 108.4 60.0ZM91.9 74.2A2.3 2.3 0 1 0 96.5 74.2A2.3 2.3 0 1 0 91.9 74.2ZM71.9 94.2A2.3 2.3 0 1 0 76.5 94.2A2.3 2.3 0 1 0 71.9 94.2ZM43.5 94.2A2.3 2.3 0 1 0 48.1 94.2A2.3 2.3 0 1 0 43.5 94.2ZM23.5 74.2A2.3 2.3 0 1 0 28.1 74.2A2.3 2.3 0 1 0 23.5 74.2ZM23.5 45.8A2.3 2.3 0 1 0 28.1 45.8A2.3 2.3 0 1 0 23.5 45.8ZM43.5 25.8A2.3 2.3 0 1 0 48.1 25.8A2.3 2.3 0 1 0 43.5 25.8ZM71.9 25.8A2.3 2.3 0 1 0 76.5 25.8A2.3 2.3 0 1 0 71.9 25.8ZM91.9 45.8A2.3 2.3 0 1 0 96.5 45.8A2.3 2.3 0 1 0 91.9 45.8Z'/%3E%3C/svg%3E");
  --hdr:78px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.8 var(--body);overflow-x:clip}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
img,svg,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:.04em;line-height:1.12;margin:0}
h2{font-size:clamp(34px,4.4vw,54px)}
h3{font-size:25px}
p{margin:0 0 1em}
ul,ol{list-style:none;margin:0;padding:0}
address{font-style:normal}
section[id]{scroll-margin-top:calc(var(--hdr) + 12px)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:12px;top:-60px;background:var(--accent);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{top:10px}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 32px}
.wrap--narrow{max-width:860px}
.wrap--form{max-width:720px}
.label{font:700 12.5px/1.6 var(--body);text-transform:uppercase;letter-spacing:.24em;color:var(--label);margin:0 0 16px}
.script{font-family:var(--script);font-weight:400;letter-spacing:0;line-height:1.2;-webkit-text-stroke:.35px currentColor}
.lead{max-width:560px;margin:18px auto 0}
.note{font-size:16px;font-weight:700;color:var(--ink);margin:0}
.note--center{text-align:center;margin-top:16px}
.section{padding:clamp(72px,10vw,128px) 0}
.section--tight{padding-top:clamp(56px,7vw,88px)}
.head{text-align:center;margin-bottom:clamp(40px,5vw,64px)}
.ico{width:44px;height:44px;fill:none;stroke:var(--gold);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.ico--sm{width:32px;height:32px;flex:none;stroke:var(--accent)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 30px;border-radius:999px;border:1px solid transparent;font:700 13px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-color .25s,color .25s}
.btn--accent{background:var(--accent);color:#fff;box-shadow:0 10px 26px -14px rgba(152,63,37,.7)}
.btn--accent:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(152,63,37,.85)}
.btn--line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--line:hover{background:var(--ink);color:var(--ivory)}
.btn--sm{min-height:44px;padding:8px 22px;font-size:12px}
.btn--lg{min-height:60px;padding:14px 44px;font-size:15px}
.btn--wide{width:100%}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#faf7f2;border-bottom:1px solid var(--peach)}
.site-header__in{max-width:1240px;margin:0 auto;padding:0 32px;height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:2;background:#faf7f2}
.brand{display:block;flex:none}
.brand img{height:54px;width:auto}
.nav{display:flex;align-items:center;gap:30px}
.nav>a:not(.btn):not(.fb){font:700 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 0;position:relative}
.nav>a:not(.btn):not(.fb)::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav>a:not(.btn):not(.fb):hover::after{transform:scaleX(1)}
.fb{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--ink);transition:color .25s,box-shadow .35s var(--ease)}
.fb:hover{color:var(--accent);box-shadow:0 0 18px 2px rgba(152,63,37,.3)}
.burger{display:none;width:48px;height:48px;background:none;border:0;padding:0;position:relative;cursor:pointer;color:var(--ink)}
.burger span{position:absolute;left:10px;right:10px;height:1.5px;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}
.burger span:nth-child(1){top:19px}.burger span:nth-child(2){top:28px}
.burger[aria-expanded=true] span:nth-child(1){top:24px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){top:24px;transform:rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:1;background:#faf7f2;padding:calc(var(--hdr) + 28px) 32px 36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}
.mmenu.is-open{visibility:visible;opacity:1;transition:opacity .3s,visibility 0s}
.mmenu__links{display:flex;flex-direction:column;align-items:center;gap:8px}
.mmenu__links a{font:600 40px/1.3 var(--display);letter-spacing:.04em;text-decoration:none;padding:4px 10px}
@media (min-width:960px){.mmenu{display:none}}
@media (max-width:959px){.nav{display:none}.burger{display:block}}

/* Hero */
.hero{position:relative;overflow:hidden;background:#fff}
.hero__silk{position:absolute;inset:0;background:#fff}
.hero__silk::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#faf7f2 0%,#fdeee4 38%,#f8d9c6 72%,#f3e6d4 100%)}
.js .hero__silk::before{opacity:0;transition:opacity 1s linear}
.js .hero__silk.no-gl::before{opacity:1}
#silk{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s linear}
#silk.is-on{opacity:1}
.hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:56px;align-items:center;min-height:calc(100vh - var(--hdr));min-height:calc(100svh - var(--hdr));padding-top:56px;padding-bottom:56px}
h1{font-size:clamp(46px,6.7vw,96px);line-height:1.06}
.hero__script{font-size:clamp(38px,3.9vw,52px);margin:22px 0 34px;color:var(--accent)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px}
.hero__fig{max-width:460px;justify-self:end;width:100%}
.hero__fig .veil-fig__frame{box-shadow:0 30px 60px -34px rgba(30,26,28,.45)}
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .95s var(--ease) both;animation-delay:calc(var(--i)*70ms)}
}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Lace veil */
.veil-fig{margin:0;min-width:0}
.veil-fig__frame{position:relative;overflow:hidden;background:#f1e9e1}
.veil-fig__frame img{width:100%;height:100%;object-fit:cover;transform-origin:50% 60%}
.veil{display:none}
.veil-on .veil{display:block;position:absolute;left:0;right:0;top:0;bottom:-45%;background:var(--ivory);opacity:.92;pointer-events:none;will-change:transform,opacity;--lace-size:120px;
  -webkit-mask-image:var(--lace);mask-image:var(--lace);-webkit-mask-size:var(--lace-size);mask-size:var(--lace-size);-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-position:center top;mask-position:center top}
.veil-on .veil-fig__frame img{transform:scale(1.12);filter:brightness(1.15);will-change:transform}
.veil-cap{font:600 21px/1.4 var(--display);letter-spacing:.04em;margin-top:14px;white-space:nowrap;overflow:hidden}
.veil-on .veil-cap{letter-spacing:.4em;transition:letter-spacing 1s var(--ease)}
.veil-on .is-lifted .veil-cap{letter-spacing:.04em}
.js.rm .veil-fig__frame img{opacity:0;transition:opacity .4s linear}
.js.rm .veil-fig.is-in .veil-fig__frame img{opacity:1}

/* Reveal */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
.js .reveal.is-in{opacity:1;transform:none}
.js.rm .reveal{opacity:1;transform:none;transition:none}

/* Pillars */
.pillars{background:var(--ivory);border-bottom:1px solid rgba(184,155,114,.45);padding:44px 0}
.pillars__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pillar{display:flex;align-items:center;gap:16px}
.pillar p{margin:0;font-weight:700;line-height:1.45}
.pillar .ico{flex:none}

/* Services */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fffdfa;padding:34px 26px;border-top:1px solid var(--gold);box-shadow:0 22px 44px -36px rgba(30,26,28,.4)}
.card h3{margin-bottom:14px}
.card p{margin:0;font-size:17px;line-height:1.7}
.worklist{margin-top:64px;text-align:center}
.worklist ul{display:flex;flex-wrap:wrap;justify-content:center;max-width:920px;margin:6px auto 26px;font:600 21px/1.5 var(--display);letter-spacing:.04em}
.worklist li{padding:4px 18px;position:relative}
.worklist li+li::before{content:"";position:absolute;left:-2px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--gold)}

/* Gallery */
.grow{position:relative;display:grid;grid-template-columns:5fr 3.4fr 3.4fr;gap:clamp(20px,3vw,40px);align-items:start;overflow:hidden;padding-bottom:12px}
.grow__b{margin-top:120px}
.grow__c{margin-top:40px}
.leak{display:none}
@media (min-width:960px) and (prefers-reduced-motion:no-preference){
  .leak{display:block;position:absolute;z-index:3;left:-30vw;top:-30vw;width:30vw;height:30vw;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.75) 0%,rgba(255,255,255,0) 68%);pointer-events:none;animation:leak 14s linear infinite;will-change:transform}
}
@keyframes leak{from{transform:translate3d(0,0,0)}to{transform:translate3d(130vw,130vw,0)}}
.details{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:56px}
.details figcaption{font:700 14px/1.5 var(--body);color:var(--ink);letter-spacing:.06em;margin-top:10px}
.details .idx{font-weight:700;color:var(--label);letter-spacing:.2em;margin-right:6px}

.gallery-more{text-align:center;margin:44px 0 0}

/* Designers */
.designers{padding-top:0}
.dlist{columns:2;column-gap:56px;text-align:center;font:600 25px/1.3 var(--display);letter-spacing:.04em}
.dlist li{break-inside:avoid;padding:13px 0;position:relative}
.dlist li::after{content:"";position:absolute;left:50%;bottom:-2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--gold)}
.dlist li:nth-child(7)::after,.dlist li:last-child::after{display:none}

/* Timeline */
.band{background:var(--peach);padding:clamp(64px,8vw,104px) 0}
.band .head{margin-bottom:48px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.steps::before{content:"";position:absolute;left:16.6%;right:16.6%;top:22px;height:1px;background:var(--step-line)}
.steps li{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
.steps__n{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:var(--ivory);border:1px solid var(--step-line);font:600 20px/1 var(--display)}
.steps__t{font:600 23px/1.3 var(--display);letter-spacing:.04em;margin-top:16px}

/* Questions & Answers */
.faq{padding-bottom:0}
.qa-list{border-bottom:1px solid rgba(184,155,114,.6)}
.qa{border-top:1px solid rgba(184,155,114,.6)}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;padding:18px 2px;font:600 22px/1.35 var(--display);letter-spacing:.02em}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:13px;height:13px;background:linear-gradient(var(--accent),var(--accent)) center/100% 1.5px no-repeat,linear-gradient(var(--accent),var(--accent)) center/1.5px 100% no-repeat;transition:transform .3s var(--ease)}
.qa[open] summary::after{transform:rotate(45deg)}
.qa p{margin:0;padding:0 34px 22px 2px}

/* About */
.about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,96px);align-items:center;max-width:1040px}
.monogram{aspect-ratio:1;max-width:340px;width:100%;justify-self:center;border-radius:50%;border:1px solid var(--gold);padding:12px;display:grid;place-items:center;position:relative}
.monogram::before{content:"";position:absolute;inset:12px;border-radius:50%;border:1px solid rgba(184,155,114,.5)}
.monogram img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.about__copy h2{margin-bottom:22px}
.about__sign{font-size:44px;color:var(--accent);margin:10px 0 0}

/* Reviews */
.reviews{padding-top:0}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.quote{margin:0;padding:30px 28px;background:#fffdfa;border-top:1px solid var(--gold);box-shadow:0 22px 44px -36px rgba(30,26,28,.4);display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.quote blockquote{margin:0;font:500 20px/1.55 var(--display);letter-spacing:.02em}
.quote figcaption{font:700 12.5px/1.6 var(--body);text-transform:uppercase;letter-spacing:.24em;color:var(--label)}
.more{text-align:center;margin:40px 0 0}
.more a{color:var(--accent);font-weight:700}

/* Consultation */
.consult{background:linear-gradient(180deg,var(--ivory),#fdf1e8 55%,var(--ivory))}
.form-card{background:#fffdfa;box-shadow:0 34px 70px -46px rgba(30,26,28,.5);padding-bottom:32px}
.num{font-family:var(--body);font-weight:700;font-size:.92em;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.03em}
#inquiry{padding:clamp(32px,5vw,44px) clamp(20px,5vw,44px) 8px}
.form-intro{font-size:17px;line-height:1.65;margin-bottom:24px}
.field{margin-bottom:20px;min-width:0}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field label{display:block;font:700 14px/1.5 var(--body);letter-spacing:.08em;margin-bottom:7px}
.field label span{color:var(--accent)}
.field input,.field textarea{width:100%;min-height:50px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:2px;font:400 16px/1.5 var(--body);color:var(--ink);-webkit-appearance:none;appearance:none}
.field textarea{resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#5a5155;opacity:1}
.field [aria-invalid=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.err{color:var(--accent);font-size:15px;font-weight:700;line-height:1.4;margin:6px 0 0}
.status{font-size:16px;font-weight:700;line-height:1.5;margin:12px 0 0;text-align:center}
.status:empty{margin:0}
.respond{display:flex;gap:14px;align-items:flex-start;margin:22px clamp(20px,5vw,44px) 0;padding-top:20px;border-top:1px solid rgba(184,155,114,.5);font-size:16px;font-weight:700;line-height:1.6}
.respond p{margin:0 0 4px}

/* Photo evaluation */
.photo-eval{margin-top:28px;padding:32px clamp(20px,5vw,44px);background:#fffdfa;border-top:1px solid var(--gold);box-shadow:0 22px 44px -36px rgba(30,26,28,.4);text-align:center}
.photo-eval h3{margin-bottom:12px}
.photo-eval p{margin-bottom:20px}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:stretch}
.contact h2{margin-bottom:22px}
.contact address{margin-bottom:22px}
.contact dl{margin:0 0 22px}
.contact dl>div{padding:12px 0;border-top:1px solid rgba(184,155,114,.5)}
.contact dt{font:600 26px/1.3 var(--display);letter-spacing:.04em}
.contact dt a{text-decoration:none}
.contact dd{margin:0;font-size:16.5px;line-height:1.55}
.contact__links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:0}
.contact__links a:not(.btn){color:var(--accent);font-weight:700;padding:8px 0}
.appt{font-weight:700;margin:-12px 0 22px}
.map{min-height:420px}
.map iframe{width:100%;height:100%;min-height:420px;border:0}

/* Footer */
.footer{padding:0 0 28px}
.rule{border:0;height:1px;background:var(--gold);margin:0 0 36px}
.footer__grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 36px}
.footer__grid img{height:50px;width:auto}
.footer__grid nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.footer__grid nav a{font:700 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 0}
.footer__grid p{margin:0;font-size:16px;font-weight:700}
.copy{font-size:15px;font-weight:700;margin:22px 0 0;color:var(--ink)}

/* Responsive */
@media (max-width:1100px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .nav{gap:20px}
}
@media (max-width:959px){
  :root{--hdr:68px}
  .brand img{height:46px}
  .hero__grid{grid-template-columns:minmax(0,1fr);gap:40px;min-height:0;padding-top:48px}
  .hero__fig{max-width:520px;justify-self:center}
  .pillars__grid{grid-template-columns:minmax(0,1fr);gap:20px;max-width:440px;margin:0 auto}
  .grow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grow__a{grid-column:1/-1}
  .grow__b,.grow__c{margin-top:0}
  .grow__c{margin-top:44px}
  .details{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quotes{grid-template-columns:minmax(0,1fr);max-width:600px;margin:0 auto}
  .about,.contact{grid-template-columns:minmax(0,1fr)}
  .monogram{max-width:240px}
}
@media (max-width:600px){
  body{font-size:18px}
  .wrap,.site-header__in{padding-left:16px;padding-right:16px}
  .hero__cta .btn{width:100%}
  .cards{grid-template-columns:minmax(0,1fr)}
  .worklist ul{font-size:19px}
  .veil-cap{font-size:18px}
  .details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .details li:last-child{grid-column:1/-1}
  .dlist{column-gap:16px;font-size:19px}
  .steps{grid-template-columns:minmax(0,1fr);gap:26px}
  .steps::before{left:50%;right:auto;top:10px;bottom:40px;width:1px;height:auto}
  .steps__t{background:var(--peach);padding:0 10px;margin-top:8px;position:relative}
  .field-row{grid-template-columns:minmax(0,1fr);gap:0}
  .map,.map iframe{min-height:320px}
  .footer__grid{flex-direction:column;align-items:flex-start}
}
@media (max-width:340px){
  .veil-cap{font-size:15px}
}
