:root{--ivory:#f6f2eb;--cream:#eee7dc;--ink:#242421;--muted:#68665f;--gold:#ad956b;--line:#ddd5c8;--white:#fffdfa;--max:1180px}
    *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}a{color:inherit}button,input,select,textarea{font:inherit}button,a{transition:all .2s ease}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.topline{height:4px;background:var(--gold)}header{position:sticky;top:0;z-index:20;background:rgba(246,242,235,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(221,213,200,.8)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;line-height:1.15;letter-spacing:.12em;font-size:14px;font-weight:700}.brand span{display:block;font-size:10px;letter-spacing:.19em;font-weight:500;color:var(--muted);margin-top:7px}.navlinks{display:flex;align-items:center;gap:24px}.navlinks a{text-decoration:none;font-size:12px;letter-spacing:.04em}.navlinks a:hover{color:var(--gold)}.navright{display:flex;align-items:center;gap:12px}.lang{border:1px solid var(--line);background:transparent;padding:8px 11px;border-radius:2px;cursor:pointer;font-size:12px}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 10px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:#887552;font-weight:700}.hero{padding:70px 0 78px}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:7%;align-items:center}.hero h1,.section-heading h2,.feature h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.08}.hero h1{font-size:clamp(44px,6vw,76px);margin:18px 0 22px;max-width:650px}.hero p{max-width:510px;color:var(--muted);font-size:16px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:white;padding:13px 19px;font-size:12px;letter-spacing:.04em;cursor:pointer;min-height:46px}.btn:hover{background:#44413a;border-color:#44413a;transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--ink)}.btn-outline:hover{color:white}.hero-art{min-height:480px;position:relative;background:linear-gradient(145deg,#ded4c4,#b9ab96 55%,#eee7dc);overflow:hidden;display:flex;align-items:flex-end;padding:26px}.hero-art:before{content:"";position:absolute;width:57%;height:78%;left:21%;top:10%;border:1px solid rgba(255,253,250,.65);background:linear-gradient(180deg,rgba(255,253,250,.55),rgba(92,82,67,.08));clip-path:polygon(50% 0,100% 24%,100% 100%,0 100%,0 24%)}.hero-art:after{content:"";position:absolute;width:42%;height:43%;left:29%;top:36%;border:8px solid rgba(246,242,235,.8);border-bottom:0;background:linear-gradient(110deg,#c4b59e,#f2e9dc 50%,#a89a84)}.art-note{position:relative;z-index:2;background:rgba(246,242,235,.92);padding:14px 16px;max-width:240px;font-size:11px;letter-spacing:.07em}.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.trust-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.section{padding:90px 0}.section-white{background:var(--white)}.section-heading{max-width:690px;margin-bottom:38px}.section-heading h2,.feature h2{font-size:clamp(34px,4vw,52px);margin:12px 0 14px}.section-heading p{color:var(--muted);max-width:650px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--white);border:1px solid var(--line);padding:27px;min-height:240px;display:flex;flex-direction:column;align-items:flex-start}.section-white .card{background:var(--ivory)}.card .num{font-family:"Playfair Display",Georgia,serif;color:var(--gold);font-size:22px}.card h3{font-size:17px;margin:16px 0 8px;font-weight:600}.card p{color:var(--muted);font-size:13px;margin:0 0 18px}.text-link{margin-top:auto;font-size:12px;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}.feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center}.feature-panel{background:var(--cream);padding:34px;min-height:320px;display:flex;flex-direction:column;justify-content:space-between}.feature-panel blockquote{font-family:"Playfair Display",Georgia,serif;font-size:26px;line-height:1.35;margin:0}.feature-panel .signature{color:var(--muted);font-size:11px;letter-spacing:.13em;text-transform:uppercase}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.tool{border:1px solid var(--line);padding:25px;background:var(--white)}.tool h3{margin:0 0 6px;font-size:17px}.tool p{font-size:12px;color:var(--muted);margin:0 0 18px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:11px;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fffdfa;padding:10px 11px;min-width:0;border-radius:0}.result{background:var(--cream);padding:14px;margin-top:14px;display:flex;justify-content:space-between;gap:10px;align-items:center}.result strong{font-size:18px;font-weight:600}.smallprint{font-size:10px;color:var(--muted);margin-top:12px}.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;align-items:start}.portrait-placeholder{aspect-ratio:4/5;background:linear-gradient(145deg,#e8dfd2,#c7b9a4);display:flex;align-items:flex-end;padding:18px;color:#4f493e;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.about-copy p{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.contact-details{border-top:1px solid var(--line);margin-top:24px}.contact-row{padding:15px 0;border-bottom:1px solid var(--line)}.contact-row small{display:block;color:var(--muted);font-size:10px;letter-spacing:.13em;text-transform:uppercase}.contact-row a{text-decoration:none}.form{background:var(--white);border:1px solid var(--line);padding:28px}.form .field{margin-bottom:14px}.form textarea{min-height:120px;resize:vertical}.form-note{font-size:11px;color:var(--muted)}footer{background:#242421;color:#f6f2eb;padding:34px 0}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}.footer-brand{font-size:12px;letter-spacing:.14em}.footer-small{font-size:10px;color:#c7c0b5}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{font-size:11px;color:#f6f2eb;text-decoration:none}.notice{background:#f0e7d9;border-left:3px solid var(--gold);padding:14px 16px;font-size:11px;color:#514a40;margin-top:20px}.hidden{display:none!important}
    @media(max-width:900px){.navlinks{gap:13px}.navlinks a{font-size:11px}.hero-grid,.feature,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-art{min-height:360px}.hero{padding-top:48px}.cards{grid-template-columns:1fr 1fr}.feature-panel{min-height:240px}.portrait-placeholder{max-width:350px}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ivory);border-bottom:1px solid var(--line);padding:18px 22px;flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu-toggle{display:inline-block}}
    @media(max-width:600px){.wrap{width:min(100% - 30px,var(--max))}.nav{min-height:70px}.navlinks{top:70px}.brand{font-size:12px}.hero h1{font-size:47px}.hero-art{min-height:300px}.section{padding:62px 0}.cards,.tool-grid{grid-template-columns:1fr}.card{min-height:auto}.fields{grid-template-columns:1fr}.trust-inner{gap:12px}.form{padding:20px}.result strong{font-size:16px}}
  
    .page-intro{padding:72px 5.5% 42px;max-width:1100px;margin:0 auto}.page-intro h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1.05;max-width:850px;margin:18px 0}.page-intro .lead{max-width:680px;font-size:17px;line-height:1.7}.page-cta{margin:48px auto;padding:64px 5%;max-width:1100px;text-align:center;background:#eee6da}.page-cta h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,44px);font-weight:400}.page-cta p{line-height:1.7}.button-dark{display:inline-block;background:#24231f;color:#fff;padding:14px 22px;text-decoration:none;margin-top:16px}
    
    @media(min-width:601px){.cards.two{grid-template-columns:1fr 1fr}}
    .footer-inner{align-items:flex-start}.footer-col{display:flex;flex-direction:column;gap:6px}.footer-col .footer-small{font-size:12px;line-height:1.6}.footer-col a{text-decoration:none;border-bottom:1px solid rgba(173,149,107,.6)}.footer-col a:hover{color:var(--gold)}.footer-title{font-size:10px;letter-spacing:.19em;color:#ad956b;margin-bottom:4px;text-transform:uppercase}.footer-legal{width:100%;border-top:1px solid rgba(246,242,235,.14);padding-top:18px;margin-top:6px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
        .feature-panel p[data-i18n="homeCtaText"]{max-width:620px;margin-left:auto;margin-right:auto}

    .page-intro{width:min(var(--max),calc(100% - 44px));max-width:none;padding:72px 0 42px}
    @media(max-width:600px){.page-intro{width:min(100% - 30px,var(--max));padding:48px 0 30px}}
    .cards.steps .card{min-height:0}

    .card ul{margin:10px 0 0;padding-left:18px;font-size:14px;color:var(--muted);line-height:1.6}.card li{margin:7px 0}

    .tool-msg{font-size:12px;color:var(--muted);margin:10px 0 0;min-height:1em}.tool .result span{font-size:13px}.tool .form-note{margin:12px 0 0}.chips{margin-top:26px}
    .glossary{display:grid;grid-template-columns:1fr 1fr;gap:22px 48px;margin:0}.glossary dt{font-weight:600;font-size:15px}.glossary dd{margin:5px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
    @media(max-width:900px){.glossary{grid-template-columns:1fr}}
    
    
    .portrait-frame{aspect-ratio:4/5;background:linear-gradient(145deg,#e8dfd2,#c7b9a4);display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",Georgia,serif;font-size:56px;letter-spacing:.06em;color:rgba(255,253,250,.92);overflow:hidden}.portrait-frame img{width:100%;height:100%;object-fit:cover;display:block}
    .id-box{border:1px solid var(--line);background:var(--ivory);padding:22px 24px;margin-top:28px;display:grid;gap:3px;font-size:14px}.id-box .id-label{font-size:11px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.id-box strong{font-weight:600}
    .about-copy p{max-width:620px}.about-copy .lead-sm{font-size:17px;line-height:1.7}
    @media(max-width:900px){.portrait-frame{max-width:350px}}
    
    .portrait-frame img{object-position:50% 18%}

    .contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}
    .book-card{border:1px solid var(--line);background:var(--ivory);padding:24px;margin-top:30px}.book-card h3{margin:0 0 6px;font-size:17px}.book-card p{margin:0 0 16px;font-size:14px;color:var(--muted)}
    .check{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.5}.check input{width:auto;margin-top:3px}
    .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
    .form-status{font-size:13px;margin:14px 0 0;min-height:1.2em}.form-status.ok{color:#4b5d3a}.form-status.err{color:#8a3b2e}
    .form .btn{cursor:pointer}.form .btn[disabled]{opacity:.6;cursor:default}
    .privacy{max-width:720px;font-size:13px;color:var(--muted)}.privacy h3{font-size:15px;color:var(--ink);margin:0 0 8px}.privacy p{margin:0 0 8px}
    @media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}}
    
.footer-privacy{color:inherit;text-decoration:none;border-bottom:1px solid rgba(184,150,90,.5)}.footer-privacy:hover{border-bottom-color:var(--gold,#b8965a)}
.legal{max-width:760px;margin:0 auto}.legal h2{font-size:26px;margin:40px 0 10px}.legal h2:first-child{margin-top:0}.legal p{margin:0 0 14px}.legal ul{margin:0 0 14px;padding-left:20px}.legal li{margin-bottom:6px}.legal .updated{font-size:13px;opacity:.7}

/* Typography: balanced headings, no hanging last words */
h1,h2,h3,h4,.page-intro .lead,.lead,.lead-sm,.eyebrow,.btn,.text-link{text-wrap:balance}
p,li,label,.card p,.footer-small{text-wrap:pretty}
h1,h2,h3,h4,p,li{overflow-wrap:break-word;hyphens:manual}
@media(max-width:380px){.hero h1{font-size:38px}.page-intro h1{font-size:34px}h2{font-size:28px}}
.cta-bit{white-space:nowrap}@media(max-width:600px){#ctaEmailLine .cta-bit{display:block}#ctaEmailLine .cta-sep{display:none}}
.hero-art.has-photo{background-size:cover;background-position:56% 50%;background-repeat:no-repeat}.hero-art.has-photo:before,.hero-art.has-photo:after{display:none}
.footer-social{display:flex;gap:18px;margin-top:10px;font-size:12px}.footer-social a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(184,150,90,.5)}.footer-social a:hover{border-bottom-color:var(--gold,#b8965a)}.footer-social[hidden]{display:none}

/* ---------- Motion: soft, slow, and optional ---------- */
:root{--ease:cubic-bezier(.22,.61,.36,1)}
/* Entrance for the top of each page */
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes artIn{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}
.hero .eyebrow,.hero h1,.hero p,.hero .actions,.page-intro>*{animation:riseIn .9s var(--ease) both}
.hero h1,.page-intro h1{animation-delay:.12s}
.hero p,.page-intro .lead{animation-delay:.24s}
.hero .actions{animation-delay:.36s}
.hero-art{animation:artIn 1.4s var(--ease) .2s both}
/* Reveal on scroll (only when scripts are running, so nothing is ever hidden without them) */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s);will-change:opacity,transform}
.js .reveal.in{opacity:1;transform:none}
/* Quiet hover touches */
.card{transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(38,36,31,.28);border-color:rgba(184,150,90,.55)}
.feature-panel,.tool{transition:box-shadow .45s var(--ease),border-color .45s var(--ease)}
.tool:hover{box-shadow:0 18px 40px -26px rgba(38,36,31,.25)}
.text-link{background:linear-gradient(var(--gold),var(--gold)) left bottom/0 1px no-repeat;border-bottom:1px solid rgba(184,150,90,.45);transition:background-size .4s var(--ease),border-color .4s var(--ease)}
.text-link:hover{background-size:100% 1px;border-bottom-color:transparent}
.navlinks a{position:relative}
.navlinks a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.navlinks a:hover:after{transform:scaleX(1)}
.btn{transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.btn:hover{box-shadow:0 12px 26px -16px rgba(38,36,31,.5)}
header{transition:box-shadow .4s var(--ease),background .4s var(--ease)}
header.scrolled{box-shadow:0 10px 30px -22px rgba(38,36,31,.35)}
.num{transition:color .4s var(--ease)}.card:hover .num{color:var(--gold)}
@media(max-width:600px){.js .reveal{transform:translateY(16px)}.card:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1!important;transform:none!important}
}
.js .reveal.pre{transition:none!important}

/* Photo banner under the page title */
.page-banner[hidden]{display:none}
.page-intro.has-banner{position:relative;isolation:isolate;overflow:hidden;margin-top:28px;padding:68px 56px;min-height:400px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;box-shadow:0 24px 50px -34px rgba(38,36,31,.45)}
.page-intro.has-banner .page-banner{position:absolute;inset:0;z-index:-1;margin:0;height:auto;box-shadow:none;background-size:cover;background-repeat:no-repeat}
.page-intro.has-banner .page-banner:after{content:"";position:absolute;inset:0;margin:0;border:0;background:linear-gradient(90deg,rgba(246,241,234,.95) 0%,rgba(246,241,234,.9) 36%,rgba(246,241,234,.55) 62%,rgba(246,241,234,0) 90%)}
@media(max-width:700px){.page-intro.has-banner{padding:44px 22px;min-height:0}.page-intro.has-banner .page-banner:after{background:linear-gradient(180deg,rgba(246,241,234,.9) 0%,rgba(246,241,234,.78) 100%)}}


/* Checklist tabs and glossary accordions */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 0;border-bottom:1px solid var(--line,#e2d9c9)}
.tab{font:inherit;font-size:14px;letter-spacing:.04em;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 18px;color:var(--muted);cursor:pointer;transition:color .25s,border-color .25s}
.tab:hover{color:var(--ink,#24231f)}
.tab[aria-selected="true"]{color:var(--ink,#24231f);border-bottom-color:var(--gold)}
.tab:focus-visible,.glossary summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.tab-panel{padding:26px 4px 6px;max-width:820px}
.tab-panel[hidden]{display:none}
.tab-panel:not([hidden]){animation:riseIn .5s var(--ease) both}
.checklist{list-style:none;margin:0;padding:0}
.checklist li{position:relative;padding:12px 0 12px 34px;border-bottom:1px solid var(--line,#e2d9c9);font-size:16px;line-height:1.6;color:var(--ink,#24231f)}
.checklist li:before{content:"";position:absolute;left:4px;top:19px;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.glossary{display:block;max-width:820px;margin:0;border-top:1px solid var(--line,#e2d9c9)}
.glossary details{border-bottom:1px solid var(--line,#e2d9c9)}
.glossary summary{list-style:none;cursor:pointer;padding:16px 36px 16px 0;position:relative;font-weight:600;font-size:16px}
.glossary summary::-webkit-details-marker{display:none}
.glossary summary:after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-weight:300;font-size:24px;color:var(--gold);transition:transform .25s}
.glossary details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.glossary details p{margin:0 0 18px;max-width:680px;color:var(--muted);font-size:15px;line-height:1.7}
@media(max-width:600px){.tab{padding:11px 12px;font-size:13px}.checklist li{font-size:15px}}

/* Compact calculators: one tool at a time, inputs left, answer right */
.tool-tabs{margin-top:0}
.tool-hint{margin:14px 0 18px;font-size:13px;color:var(--muted)}
.tool-stage .tool{display:grid;grid-template-columns:1.15fr .85fr;padding:0;border:1px solid var(--line);background:var(--white)}
.tool-stage .tool[hidden]{display:none}
.tool-stage .tool:not([hidden]){animation:riseIn .5s var(--ease) both}
.tool-in{padding:30px 34px 32px}
.tool-in h3{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:0 0 4px;letter-spacing:-.01em}
.tool-in>p{font-size:13px;margin:0 0 22px}
.tool-in .fields{gap:20px 26px}
.tool-in .field label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tool-in .field input,.tool-in .field select{border:0;border-bottom:1px solid var(--line);background:transparent;padding:5px 0 8px;font-size:20px;color:var(--ink);transition:border-color .25s}
.tool-in .field select{font-size:17px}
.tool-in .field input:focus,.tool-in .field select:focus{outline:0;border-bottom-color:var(--gold)}
.tool-in input[type=number]{-moz-appearance:textfield;appearance:textfield}
.tool-in input[type=number]::-webkit-inner-spin-button,.tool-in input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.tool-out{background:var(--cream);padding:30px 34px;display:flex;flex-direction:column;justify-content:center}
.tool-out .result{background:none;padding:11px 0;margin:0;border-top:1px solid rgba(36,35,31,.12)}
.tool-out .result.main{display:block;border-top:0;padding:0 0 14px}
.tool-out .result.main span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.tool-out .result.main strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4.2vw,54px);line-height:1.05;letter-spacing:-.02em}
.tool-out .result strong{font-size:17px}
.tool-out .tool-msg{margin:6px 0 0}
.assump{margin-top:16px;border-top:1px solid rgba(36,35,31,.12);padding-top:12px}
.assump summary{cursor:pointer;list-style:none;font-size:12px;color:var(--muted);display:inline-flex;gap:8px;align-items:center}
.assump summary::-webkit-details-marker{display:none}
.assump summary:after{content:"+";color:var(--gold);font-size:17px;line-height:1;transition:transform .25s}
.assump[open] summary:after{transform:rotate(45deg)}
.assump .form-note{margin:10px 0 0;font-size:12px;line-height:1.6}
@media(max-width:820px){.tool-stage .tool{grid-template-columns:1fr}.tool-in,.tool-out{padding:24px 22px}.tool-in .fields{gap:16px 18px}.tool-out .result.main strong{font-size:40px}.tool-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.tool-tabs .tab{white-space:nowrap}}
@media(max-width:820px){.tool-in .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-in .field input{font-size:18px}.tool-in .field label{font-size:10px}.tool-in>p{margin-bottom:16px}}
.tool-in .field{justify-content:flex-end}

/* Line-drawing accent for the Tools & Resources intro */
.page-intro.has-art{position:relative;isolation:isolate;overflow:hidden}
.page-intro.has-art>*:not(.intro-art){max-width:min(56%,640px)}
.intro-art{position:absolute;right:0;top:34px;bottom:14px;width:44%;height:calc(100% - 48px);color:var(--gold);z-index:-1;pointer-events:none}
.intro-art .d{stroke-dasharray:1;stroke-dashoffset:0}
.js .intro-art .d{animation:drawIn 1.9s var(--ease) both;animation-delay:calc(var(--i)*.11s + .15s)}
@keyframes drawIn{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.js .intro-art .d{animation:none}}
@media(max-width:820px){.page-intro.has-art>*:not(.intro-art){max-width:none}.intro-art{display:none}}

/* About: split hero with large portrait */
.about-hero{display:grid;grid-template-columns:1.1fr .8fr;gap:7%;align-items:center;padding-bottom:64px}
.about-hero .lead{max-width:600px;margin-bottom:12px}
.about-hero .lead-sm{max-width:560px;margin:0;color:var(--muted)}
.about-hero .id-box{max-width:520px;margin-top:26px}
.about-hero-photo{position:relative;justify-self:end;width:calc(100% - 16px);max-width:440px;margin:0 16px 16px 0}
.about-hero-photo:before{content:"";position:absolute;inset:0;border:1px solid var(--gold);transform:translate(16px,16px);z-index:0}
.about-hero-photo .portrait-frame{position:relative;z-index:1;max-width:none;width:100%}
.principles .num{font-family:Georgia,serif;color:var(--gold);font-size:22px}
.principles .card{min-height:0}
@media(max-width:900px){.about-hero{grid-template-columns:1fr;gap:34px}.about-hero-photo{justify-self:start;width:calc(100% - 16px);max-width:360px;margin:0 16px 16px 0}.about-hero-photo .portrait-frame{max-width:none}}

.about-hero .lead{max-width:600px;margin:0 0 16px}
.about-hero .lead-sm{max-width:600px;margin:0;font-size:17px;line-height:1.7;color:var(--ink)}

/* About: layered portrait block and dark principles band */
.about-hero-photo:before{border:0;background:#e6d9c4;transform:translate(20px,20px)}
.about-hero-photo:after{content:"";position:absolute;inset:0;border:1px solid var(--gold);transform:translate(-12px,-12px);z-index:0;pointer-events:none}
.about-hero-photo{margin:12px 20px 20px 12px;width:calc(100% - 32px)}
.dark-band{background:var(--cream);color:var(--ink)}
.dark-band .eyebrow{color:#887552}
.dark-band .section-heading h2{color:var(--ink)}
.dark-band .principles{gap:44px}
.dark-band .principles .card{background:none;border:0;border-top:1px solid rgba(173,149,107,.7);padding:26px 0 0}
.dark-band .principles .num{font-size:46px;line-height:1;color:var(--gold);font-family:Georgia,serif}
.dark-band .principles h3{color:var(--ink);font-size:19px;margin:18px 0 8px}
.dark-band .principles p{color:var(--muted);font-size:15px;line-height:1.7;margin:0}
.dark-band+.section-white{padding-top:84px}
@media(max-width:900px){.about-hero-photo{margin:10px 16px 16px 10px;width:calc(100% - 26px)}.dark-band .principles{gap:30px}}
/* "What to expect" points are open columns, not boxes: no lift or shadow on hover */
.principles .card:hover{transform:none;box-shadow:none;border-color:transparent;border-top-color:var(--gold)}
.principles .card{transition:border-color .3s var(--ease)}
.principles .card:hover h3{color:#6b5a3b}
.principles .card h3{transition:color .3s var(--ease)}
/* Calmer card hover everywhere: no lift (keeps neighbours aligned), soft glow and thin gold edge */
.card:hover{transform:none;box-shadow:0 10px 30px -20px rgba(38,36,31,.22);border-color:rgba(173,149,107,.7)}
.principles .card:hover{box-shadow:none;border-color:transparent;border-top-color:var(--gold)}

/* ---- Motion round 2: portrait reveal, drawing gold lines, smooth details ---- */
@keyframes wipeIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes settleIn{from{transform:scale(1.09)}to{transform:scale(1)}}
@keyframes blockIn{from{transform:translate(0,0);opacity:0}to{transform:translate(20px,20px);opacity:1}}
@keyframes outlineIn{from{transform:translate(0,0);opacity:0}to{transform:translate(-12px,-12px);opacity:1}}
.about-hero>.about-hero-photo{animation:none}
.about-hero-photo .portrait-frame{animation:wipeIn 1.25s var(--ease) .2s both}
.about-hero-photo .portrait-frame img{animation:settleIn 1.9s var(--ease) .2s both}
.about-hero-photo:before{animation:blockIn .95s var(--ease) .85s both}
.about-hero-photo:after{animation:outlineIn .95s var(--ease) 1.05s both}
/* "What to expect": the gold rule above each point draws in */
.principles .card{position:relative;border-top:0!important}
.principles .card:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(173,149,107,.75);transition:transform 1.2s var(--ease),background .3s}
.js .principles .card:before{transform:scaleX(0);transform-origin:left}
.js .principles .card.is-in:before{transform:none}
.principles .card:hover:before{background:var(--gold)}
/* smooth details: the plus turns back immediately while closing */
.glossary details[data-closing] summary:after{transform:translateY(-50%) rotate(0)}
.assump[data-closing] summary:after{transform:none}
@media(prefers-reduced-motion:reduce){.about-hero-photo .portrait-frame,.about-hero-photo .portrait-frame img,.about-hero-photo:before,.about-hero-photo:after{animation:none!important}.about-hero-photo:before{transform:translate(20px,20px)}.about-hero-photo:after{transform:translate(-12px,-12px)}.js .principles .card:before{transform:none}}
/* Phones: compact "What to expect" (number beside the text) and tighter section spacing */
@media(max-width:700px){
  .dark-band{padding:48px 0 44px}
  .dark-band+.section-white{padding-top:48px}
  .dark-band .section-heading{margin-bottom:26px}
  .dark-band .principles{gap:0}
  .dark-band .principles .card{display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:start;padding:20px 0 20px}
  .dark-band .principles .num{grid-row:1 / span 2;font-size:34px;line-height:1.1}
  .dark-band .principles h3{margin:0 0 4px;font-size:18px}
  .dark-band .principles p{font-size:15px;line-height:1.6}
}

/* ---- Contact page ---- */
.contact-grid{gap:7%;align-items:start}
.contact-aside{display:flex;flex-direction:column;gap:34px}
.contact-aside .contact-details{margin-top:0}
.next-steps h3{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:0 0 6px;letter-spacing:-.01em}
.next-steps ol{list-style:none;margin:0;padding:0;counter-reset:ns}
.next-steps li{counter-increment:ns;display:flex;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.55}
.next-steps li:before{content:counter(ns,decimal-leading-zero);font-family:Georgia,serif;color:var(--gold);font-size:20px;min-width:30px}
.contact-aside .id-box{margin-top:0}
.contact-art{width:100%;max-width:420px;height:auto;color:var(--gold);opacity:.95;margin-top:2px}
.contact-art .d{stroke-dasharray:1;stroke-dashoffset:0}
.js .contact-art .d{animation:drawIn 1.9s var(--ease) both;animation-delay:calc(var(--i)*.1s + .3s)}
.form{padding:34px 36px 30px}
.form .field{margin-bottom:22px}
.form .field label,.form .pick legend{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.form .field input:not([type=checkbox]):not([type=radio]),.form .field textarea{border:0;border-bottom:1px solid var(--line);background:transparent;padding:6px 0 9px;font-size:18px;color:var(--ink);border-radius:0;transition:border-color .25s}
.form .field textarea{min-height:96px;resize:vertical;line-height:1.5}
.form .field input:focus,.form .field textarea:focus{outline:0;border-bottom-color:var(--gold)}
.form .field input::placeholder{color:#a9a396}
.form .pick{border:0;padding:0;margin:0 0 22px;min-width:0}
.form .pick legend{padding:0;margin-bottom:10px}
.pick-row{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;cursor:pointer;display:inline-flex}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:inline-block;border:1px solid var(--line);background:transparent;padding:9px 16px;font-size:14px;line-height:1.3;border-radius:2px;transition:background .25s,color .25s,border-color .25s}
.chip:hover span{border-color:var(--gold)}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.form-status.ok{display:flex;gap:10px;align-items:center;font-size:15px;margin-top:18px}
.tick{width:26px;height:26px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tick .d{stroke-dasharray:1;stroke-dashoffset:0;animation:drawIn .9s var(--ease) both}.tick path.d{animation-delay:.35s}
.privacy-d{margin-top:22px}
@media(prefers-reduced-motion:reduce){.tick .d,.js .contact-art .d{animation:none}}
@media(max-width:900px){
  .contact-grid{gap:28px}
  .contact-aside{display:contents}
  .contact-details{order:1}.book-card{order:2}.form-col{order:3}.next-steps{order:4}.contact-aside .id-box{order:5}.contact-art{display:none}
  .form{padding:26px 22px 24px}
}

.form .chip{text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink)}
.form .chip input:checked+span{color:#fff}
.form .field .chip,.form .pick .chip{text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink)}

/* Interest choices: tidy two-column grid */
.pick-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pick-row .chip{display:flex}
.pick-row .chip span{display:flex;align-items:center;width:100%;min-height:50px;padding:10px 16px;line-height:1.35}
@media(max-width:400px){.pick-row .chip span{padding:10px 12px;font-size:13px}}
.contact-aside .contact-art{margin-top:8px}

/* Wide photo band between sections (Residential, Commercial) */
.photo-band{position:relative;height:clamp(220px,30vw,400px);margin:56px 0 0;background-size:cover;background-repeat:no-repeat;box-shadow:0 24px 50px -34px rgba(38,36,31,.45)}
.photo-band:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,253,250,.5);pointer-events:none}
.photo-band[hidden]{display:none}
.photo-band+.section-heading{margin-top:56px!important}
@media(max-width:600px){.photo-band{height:200px;margin-top:40px}.photo-band:after{inset:8px}}

/* Residential: lighter process + tools strip */
.proc{padding-top:30px}.proc[hidden]{display:none}.proc:not([hidden]){animation:riseIn .5s var(--ease) both}
.proc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.proc-steps li{border-top:1px solid var(--line);padding-top:18px;position:relative}
.proc-steps li:before{content:"";position:absolute;left:0;top:-1px;width:34px;height:2px;background:var(--gold)}
.proc-steps .num{font-family:"Playfair Display",Georgia,serif;color:var(--gold);font-size:20px}
.proc-steps h3{font-size:17px;font-weight:600;margin:10px 0 8px}
.proc-steps p{color:var(--muted);font-size:14px;margin:0}
.tools-strip{margin-top:64px;padding:30px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}
.tools-strip h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(26px,3vw,34px);letter-spacing:-.02em;margin:8px 0 0}
.tools-links{display:flex;gap:28px;flex-wrap:wrap}
.tools-links a{text-decoration:none;font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:3px}
.tools-links a:after{content:" →"}.tools-links a:hover{color:#887552}
@media(max-width:900px){.proc-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.proc-steps{grid-template-columns:1fr;gap:22px}.proc-steps li{display:grid;grid-template-columns:34px 1fr;column-gap:10px;padding-top:16px}.proc-steps .num{grid-row:1/3}.proc-steps h3{margin:0 0 4px}.tools-strip{margin-top:44px}.tools-links{flex-direction:column;gap:14px;align-items:flex-start}}
.proc-steps.cols3{grid-template-columns:repeat(3,1fr)}
.proc-steps.nonum h3{margin-top:0}
.proc-steps.nonum p{margin-bottom:14px}
.proc-steps.nonum .text-link{display:inline-block;margin-top:0;border-bottom:1px solid var(--gold);padding-bottom:3px;font-size:13px}
@media(max-width:900px){.proc-steps.cols3{grid-template-columns:1fr;gap:26px}}
@media(max-width:560px){.proc-steps.nonum li{display:block}}

/* Home: photo path tiles */
.path-tiles{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.path-tile{position:relative;display:block;min-height:380px;overflow:hidden;text-decoration:none;color:#fff;background:#3a372f}
.path-tile .tile-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s var(--ease)}
.path-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,22,18,.05) 0%,rgba(24,22,18,.45) 45%,rgba(24,22,18,.88) 100%)}
.path-tile .tile-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 30px 28px;display:block}
.path-tile .num{font-family:"Playfair Display",Georgia,serif;color:#e6d3a8;font-size:20px;display:block}
.path-tile h3{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,36px);letter-spacing:-.02em;margin:6px 0 8px;color:#fff}
.path-tile p{margin:0 0 16px;max-width:430px;font-size:14px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.path-tile .tile-link{font-size:13px;border-bottom:1px solid #e6d3a8;padding-bottom:3px}
.path-tile:hover .tile-img,.path-tile:focus-visible .tile-img{transform:scale(1.04)}
.path-tile:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.tools-links.ext a:after{content:" ↗"}
.cards+.tools-strip{margin-top:64px}
@media(max-width:760px){.path-tiles{grid-template-columns:1fr;gap:16px}.path-tile{min-height:300px}.path-tile .tile-body{padding:24px 22px 22px}}
@media(prefers-reduced-motion:reduce){.path-tile .tile-img{transition:none}.path-tile:hover .tile-img{transform:none}}
.member-strip{align-items:flex-start;margin-top:56px}
.member-strip[hidden]{display:none}
.member-strip>div:first-child{max-width:420px}
.member-copy{max-width:520px}
.member-copy p{margin:0 0 14px;color:var(--muted);font-size:15px}
.tools-link-one{text-decoration:none;font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:3px}
.tools-link-one:hover{color:#887552}
.id-box #abMember{display:block}
@media(max-width:760px){.member-strip{margin-top:40px;gap:16px}}
.member-strip h2{line-height:1.15;margin-top:8px}
.std-head{margin-top:72px;margin-bottom:30px}
.std-head h2{font-size:clamp(28px,3.2vw,40px)}
.std-cols{margin-bottom:56px}
.std-cols p{max-width:360px}
.footer-tm{max-width:760px;margin-top:6px;line-height:1.5}.footer-tm[hidden]{display:none}
.proc-steps.cols4{grid-template-columns:repeat(4,1fr);gap:30px}
.std-cols.cols4 p{max-width:none}
@media(max-width:1000px){.proc-steps.cols4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.proc-steps.cols4{grid-template-columns:1fr;gap:22px}}

/* Home: slim credentials strip */
.cred-strip{background:var(--white,#fffdfa);border-bottom:1px solid var(--line)}
.cred-strip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.cred-strip li{display:flex;border-left:1px solid var(--line)}
.cred-strip li:first-child{border-left:0}
.cred-strip li>a,.cred-strip li>.cred-in{display:flex;align-items:center;gap:14px;padding:22px 18px;width:100%;text-decoration:none;color:inherit}
.cred-strip li:first-child>a,.cred-strip li:first-child>.cred-in{padding-left:0}
.cred-ic{flex:none;width:34px;height:34px;color:var(--gold)}
.cred-ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.cred-tx{display:flex;flex-direction:column;line-height:1.3}
.cred-tx strong{font-size:14px;font-weight:600}
.cred-tx span{font-size:11px;letter-spacing:.14em;color:var(--muted)}
.cred-strip a:hover .cred-ic{color:#887552}
.cred-strip a:hover strong{color:#887552}
@media(max-width:900px){.cred-strip ul{grid-template-columns:1fr 1fr}.cred-strip li:nth-child(odd){border-left:0}.cred-strip li:nth-child(n+3){border-top:1px solid var(--line)}.cred-strip li:nth-child(odd)>a,.cred-strip li:nth-child(odd)>.cred-in{padding-left:0}}
@media(max-width:380px){.cred-strip li>a,.cred-strip li>.cred-in{gap:10px;padding:18px 8px}.cred-ic{width:28px;height:28px}.cred-tx strong{font-size:13px}}
.cred-strip li>a{position:relative;transition:background .25s}
.cred-strip li>a:after{content:"↗";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--gold);opacity:0;transition:opacity .25s}
.cred-strip li>a:hover,.cred-strip li>a:focus-visible{background:rgba(246,242,235,.6)}
.cred-strip li>a:hover:after,.cred-strip li>a:focus-visible:after{opacity:1}
.cred-strip li>a:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
@media(hover:none){.cred-strip li>a:after{opacity:.55}}
/* credentials strip: typographic, no icons */
.cred-strip li>a,.cred-strip li>.cred-in{justify-content:center;text-align:center;padding:26px 18px!important}
.cred-strip li:first-child>a{padding-left:18px!important}
.cred-tx{align-items:center;gap:5px}
.cred-tx strong{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:19px;letter-spacing:-.01em}
.cred-tx span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#887552}
.cred-strip li>a:after{right:12px;top:12px;transform:none;font-size:12px}
@media(max-width:900px){.cred-strip li:nth-child(odd)>a{padding-left:12px!important}.cred-tx strong{font-size:17px}}
@media(max-width:380px){.cred-tx strong{font-size:15px}.cred-strip li>a{padding:20px 8px!important}}

/* Home: credentials band */
.cred-band{background:var(--cream);padding:76px 0 70px;border-bottom:1px solid var(--line)}
.cred-band h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;letter-spacing:-.03em;line-height:1.1;font-size:clamp(32px,4.4vw,56px);max-width:860px;margin:14px 0 46px}
.cred-band ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d9cdb6}
.cred-band li{border-left:1px solid #d9cdb6}
.cred-band li:first-child{border-left:0}
.cred-band a{position:relative;display:block;height:100%;padding:28px 26px 4px;text-decoration:none;color:inherit}
.cred-band li:first-child a{padding-left:0}
.cred-band strong{display:block;font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,40px);letter-spacing:-.02em;line-height:1.1;color:var(--ink)}
.cred-band a span{display:block;margin-top:12px;max-width:230px;font-size:13px;line-height:1.5;color:var(--muted)}
.cred-band a:after{content:"";position:absolute;left:26px;top:-1px;width:0;height:2px;background:var(--gold);transition:width .5s var(--ease)}
.cred-band li:first-child a:after{left:0}
.cred-band a:hover:after,.cred-band a:focus-visible:after{width:56px}
.cred-band a:hover strong{color:#887552}
.cred-band a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:900px){.cred-band{padding:56px 0 48px}.cred-band h2{margin-bottom:32px}.cred-band ul{grid-template-columns:1fr 1fr}.cred-band li:nth-child(odd){border-left:0}.cred-band li:nth-child(n+3){border-top:1px solid #d9cdb6}.cred-band li:nth-child(odd) a{padding-left:0}.cred-band li:nth-child(odd) a:after{left:0}.cred-band a{padding-bottom:24px}}
@media(max-width:520px){.cred-band a{padding:22px 14px 22px}.cred-band li:nth-child(odd) a{padding-left:0}.cred-band a span{font-size:12px}.cred-band strong{font-size:26px}}
.cred-band h2{text-wrap:balance}
@media(max-width:520px){.cred-band strong{font-size:22px;white-space:nowrap}}@media(max-width:360px){.cred-band strong{font-size:19px}}

/* credentials band: lighter version */
.cred-band.light{background:var(--white,#fffdfa);padding:44px 0 40px;border-top:0;border-bottom:1px solid var(--line)}
.cred-band.light .eyebrow{text-align:center;margin-bottom:26px}
.cred-band.light ul{border-top:0}
.cred-band.light li,.cred-band.light li:first-child{border-left:1px solid var(--line)}
.cred-band.light li:first-child{border-left:0}
.cred-band.light a{padding:6px 28px 6px;text-align:center}
.cred-band.light li:first-child a{padding-left:28px}
.cred-band.light strong{font-size:clamp(22px,2.1vw,28px);letter-spacing:-.01em}
.cred-band.light a span{margin:8px auto 0;max-width:240px;font-size:12px}
.cred-band.light a:after{left:50%;top:-6px;margin-left:-14px}
.cred-band.light li:first-child a:after{left:50%}
.cred-band.light a:hover:after,.cred-band.light a:focus-visible:after{width:28px}
@media(max-width:900px){.cred-band.light{padding:34px 0 24px}.cred-band.light .eyebrow{margin-bottom:20px;line-height:1.7}.cred-band.light li,.cred-band.light li:nth-child(odd){border-left:1px solid var(--line)}.cred-band.light li:nth-child(odd){border-left:0}.cred-band.light li:nth-child(n+3){border-top:1px solid var(--line)}.cred-band.light a,.cred-band.light li:nth-child(odd) a,.cred-band.light li:first-child a{padding:18px 10px}.cred-band.light li:nth-child(odd) a:after{left:50%}}
@media(max-width:520px){.cred-band.light strong{font-size:20px;white-space:nowrap}.cred-band.light a span{font-size:11.5px}}
.cred-band.light .eyebrow{text-wrap:balance}

/* Footer legal: calmer layout */
.footer-legal{display:grid;grid-template-columns:1fr auto;gap:6px 24px;align-items:baseline}
.footer-legal #ftLicence,.footer-legal .footer-tm{grid-column:1/-1}
.footer-legal #ftLicence{font-size:11px;color:rgba(246,242,235,.62);letter-spacing:.02em}
.footer-legal #ftLicence:empty{display:none}
.footer-legal .footer-tm{font-size:10.5px;line-height:1.55;color:rgba(246,242,235,.56);max-width:760px;margin:0 0 10px}
.footer-legal>.footer-small:nth-last-child(2),.footer-legal>.footer-small:last-child{font-size:11px;color:rgba(246,242,235,.62)}
.footer-legal .footer-privacy{border-bottom:1px solid rgba(173,149,107,.45);text-decoration:none}
.footer-legal>.footer-small:last-child{text-align:right}
@media(max-width:520px){.footer-legal{grid-template-columns:1fr;gap:6px}.footer-legal>.footer-small:last-child{text-align:left}}

/* Motion round 3 */
header{position:sticky}
header .read-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
@media(min-width:901px){.nav{transition:min-height .35s var(--ease)}header.scrolled .nav{min-height:62px}header .brand span{transition:opacity .3s,margin .3s}header.scrolled .brand span{opacity:.75}}
header{transition:box-shadow .35s var(--ease)}header.scrolled{box-shadow:0 6px 24px rgba(36,35,33,.06)}
.js .hero-art{animation:wipeIn 1.3s var(--ease) .1s both,artIn 1.5s var(--ease) .2s both}
@media(prefers-reduced-motion:reduce){.js .hero-art{animation:none}header .read-progress{transition:none}.nav{transition:none}}

/* Privacy page: editorial layout */
.legal{max-width:none;margin:0}
.legal-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:80px;max-width:1040px;margin:0 auto;align-items:start}
.legal-toc{position:sticky;top:110px;align-self:start}
.legal-toc-t{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#887552;font-weight:700;margin-bottom:14px}
.legal-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.legal-toc a{display:flex;gap:12px;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;text-decoration:none;font-size:13px;line-height:1.4;color:var(--muted);transition:color .25s,border-color .25s}
.legal-toc a span{font-family:"Playfair Display",Georgia,serif;color:var(--gold);font-size:12px;padding-top:1px}
.legal-toc a:hover,.legal-toc a.on{color:var(--ink)}
.legal-toc a.on{border-left-color:var(--gold)}
.pv-glance{background:var(--cream);padding:34px 36px;margin-bottom:56px}
.pv-glance h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:28px;letter-spacing:-.02em;margin:0 0 18px}
.pv-glance ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 36px}
.pv-glance li{position:relative;padding-left:22px;font-size:15px;line-height:1.55;margin:0}
.pv-glance li:before{content:"";position:absolute;left:0;top:.62em;width:12px;height:1px;background:var(--gold)}
.pv-glance a{border-bottom:1px solid var(--gold);text-decoration:none}
.legal-body .pv-sec{border-top:1px solid var(--line);padding:34px 0 38px}
.legal-body .pv-sec:first-of-type{border-top:0}
.pv-n{font-family:"Playfair Display",Georgia,serif;color:var(--gold);font-size:17px}
.legal .pv-sec h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(26px,2.6vw,32px);letter-spacing:-.02em;line-height:1.15;margin:6px 0 14px}
.legal .pv-sec p,.legal .pv-sec li{color:#4d4a43;font-size:15.5px;line-height:1.75;max-width:660px}
.legal .pv-sec p{margin:0}
.legal .pv-sec ul{list-style:none;padding:0;margin:0}
.legal .pv-sec li{position:relative;padding-left:22px;margin-bottom:10px}
.legal .pv-sec li:before{content:"";position:absolute;left:0;top:.82em;width:10px;height:1px;background:var(--gold)}
.legal .pv-sec a{border-bottom:1px solid var(--gold);text-decoration:none}
.legal .updated{border-top:1px solid var(--line);padding-top:22px;margin-top:6px}
@media(max-width:900px){.legal-grid{grid-template-columns:1fr;gap:0}.legal-toc{display:none}.pv-glance{padding:26px 22px;margin-bottom:34px}.pv-glance ul{grid-template-columns:1fr;gap:12px}}

/* Home hero: layered frame + slow drifting pan */
.hero-frame{position:relative;margin:12px 20px 20px 12px}
.hero-frame:before{content:"";position:absolute;inset:0;background:#e6d9c4;transform:translate(20px,20px);z-index:0;animation:blockIn .95s var(--ease) .85s both}
.hero-frame:after{content:"";position:absolute;inset:0;border:1px solid var(--gold);transform:translate(-12px,-12px);z-index:2;pointer-events:none;animation:outlineIn .95s var(--ease) 1.05s both}
.hero-frame .hero-art{position:relative;z-index:1}
@keyframes heroPan{from{background-position:56% 50%}to{background-position:74% 50%}}
.js .hero-art.has-photo{animation:wipeIn 1.3s var(--ease) .1s both,artIn 1.5s var(--ease) .2s both;overflow:hidden}
.js .hero-art.has-photo:before{display:block;content:"";position:absolute;inset:0 -14%;width:auto;height:auto;border:0;clip-path:none;z-index:0;background-image:inherit;background-size:cover;background-position:56% 50%;background-repeat:no-repeat;transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden;animation:heroSlide 34s ease-in-out 1.6s infinite alternate}
@keyframes heroSlide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-9%,0,0)}}
@media(max-width:900px){.hero-frame{margin:10px 16px 16px 10px}}
@media(prefers-reduced-motion:reduce){.hero-frame:before,.hero-frame:after{animation:none}.hero-frame:before{transform:translate(20px,20px)}.hero-frame:after{transform:translate(-12px,-12px)}.js .hero-art.has-photo{animation:none}.js .hero-art.has-photo:before{animation:none}}

/* Calculator visuals */
.viz{margin-top:16px}
.viz[hidden]{display:none}
.viz-t{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.viz-bar{display:flex;height:10px;background:var(--cream);overflow:hidden}
.viz-bar span{display:block;height:100%;transition:width .6s var(--ease)}
.viz-bar .p{background:#e0d1b3}.viz-bar .i{background:#ad956b}
.viz-key{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:9px;font-size:12px;color:var(--muted)}
.viz-key>span{display:inline-flex;align-items:center;gap:8px}
.viz-key i{width:9px;height:9px;display:inline-block}
.viz-key i.p{background:#e0d1b3;box-shadow:inset 0 0 0 1px rgba(136,117,82,.35)}.viz-key i.i{background:#ad956b}
.bk{padding-top:10px}
.bk-row{display:grid;grid-template-columns:1fr auto auto;gap:2px 16px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line);font-size:13px}
.bk-row:first-child{border-top:0}
.bk-l{color:var(--ink)}.bk-r{color:var(--muted)}.bk-row strong{font-weight:600;min-width:64px;text-align:right}
.bk-b{grid-column:1/-1;display:block;height:3px;background:var(--cream);margin-top:6px}
.bk-b i{display:block;height:100%;transition:width .6s var(--ease)}
@media(prefers-reduced-motion:reduce){.viz-bar span,.bk-b i{transition:none}}

/* Phone quick-contact bar */
.mbar{display:none}
@media(max-width:700px){
  .mbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(246,242,235,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(36,35,33,.06);transform:translateY(110%);transition:transform .45s var(--ease);visibility:hidden}
  .mbar.on{transform:none;visibility:visible}
  .mbar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;text-decoration:none;font-size:13px;letter-spacing:.06em;border:1px solid var(--ink)}
  .mbar .mb-msg{background:var(--ink);color:#fff}
  .mbar .mb-call{background:transparent;color:var(--ink)}
  .mbar a:only-child{flex:1}
}
@media(prefers-reduced-motion:reduce){.mbar{transition:none}}

/* header: agency name under the broker title */
.brand-block{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.brand-agency{display:inline-block;margin-top:5px;font-size:10px;line-height:1.3;letter-spacing:.19em;font-weight:500;text-transform:uppercase;text-decoration:none;color:var(--muted);border-bottom:1px solid transparent;transition:color .25s,border-color .25s,opacity .3s}
.brand-agency:hover,.brand-agency:focus-visible{color:var(--ink);border-bottom-color:var(--gold)}
@media(min-width:901px){header.scrolled .brand-agency{opacity:.7}}
@media(max-width:900px){.navlinks{top:100%}}
@media(max-width:600px){.brand-agency{font-size:9px;letter-spacing:.12em;margin-top:4px}}
/* lease: year-by-year table */
.lease-yr{padding-top:10px;overflow-x:auto}
.lease-tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.lease-tbl th{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted);text-align:right;padding:0 0 8px 12px;white-space:nowrap}
.lease-tbl th:first-child,.lease-tbl td:first-child{text-align:left;padding-left:0}
.lease-tbl td{padding:9px 0 9px 12px;border-top:1px solid var(--line);text-align:right;white-space:nowrap}
.lease-tbl td:last-child,.lease-tbl td.t{font-weight:600}

/* header agency line: serif, sentence case, so it reads apart from the title above */
.brand-agency{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-size:13px;letter-spacing:.02em;text-transform:none;font-weight:400;margin-top:6px;color:#8a8275}
@media(max-width:600px){.brand-agency{font-size:12px;letter-spacing:.01em;margin-top:5px}}

/* Mobile polish: arrows as drawn icons (not emoji), visible line art, tabs that fit */
:root{--arr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9.5 9.5 2.5M4 2.5h5.5V8'/%3E%3C/svg%3E")}
@media(max-width:820px){
.page-intro.has-art{display:flex;flex-direction:column}
.page-intro.has-art>.intro-art{display:block;position:relative;order:9;right:auto;top:auto;bottom:auto;width:100%;height:190px;margin:30px 0 0;z-index:0;opacity:.9}
.tool-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:visible;border-bottom:0}
.tool-tabs .tab{white-space:normal;text-align:center;border:1px solid var(--line,#e2d9c9);margin:0 -1px -1px 0;padding:14px 8px;line-height:1.3}
.tool-tabs .tab[aria-selected="true"]{border-color:var(--gold);background:var(--cream);position:relative;z-index:1}
}
@media(max-width:600px){
.tabs:not(.tool-tabs){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.tabs:not(.tool-tabs) .tab{padding:12px 4px;font-size:12.5px;text-align:center;line-height:1.3;letter-spacing:.02em}
}

/* No stranded words: balanced line breaks on phones and tablets */
@media(max-width:820px){
h1,h2,h3,h4,p,li,summary,label,.eyebrow,.brand,.brand-sub,.brand-agency,.lead,.form-note,.tool-hint,.btn,figcaption,blockquote{text-wrap:balance}
}

/* Narrow phones: the email address must never push the page wider */
.contact-row,.contact-row>*,.contact-details{min-width:0}
.contact-row a,.contact-row strong,.contact-row span{overflow-wrap:anywhere}
@media(max-width:360px){.contact-row a,.contact-row strong{font-size:.92em}}
@media(max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}.contact-grid>*{min-width:0}}

/* Phones and tablets only: drawn arrows instead of emoji-style glyphs (desktop unchanged) */
@media(max-width:820px){
.tools-links.ext a:after{content:"";display:inline-block;width:.62em;height:.62em;margin-left:.5em;background:currentColor;-webkit-mask:var(--arr) center/contain no-repeat;mask:var(--arr) center/contain no-repeat}
.cred-strip li>a:after{content:"";width:12px;height:12px;background:var(--gold);-webkit-mask:var(--arr) center/contain no-repeat;mask:var(--arr) center/contain no-repeat;font-size:0}
}

/* Phones and tablets only (desktop untouched): header breathing room, neutral buttons, About side-by-side, calmer line art */
@media(max-width:900px){
.nav{padding-top:16px;padding-bottom:16px}
.lang,.menu-toggle{color:var(--ink);-webkit-text-fill-color:var(--ink);-webkit-appearance:none;appearance:none}
.about-hero{grid-template-columns:minmax(0,1fr) minmax(0,44%);column-gap:18px;row-gap:0;align-items:center;padding-bottom:40px}
.about-hero-copy{display:contents}
.about-hero-copy>.eyebrow{grid-column:1;grid-row:1;align-self:end;margin-bottom:10px}
.about-hero-copy>h1{grid-column:1;grid-row:2;align-self:start;font-size:clamp(28px,9vw,44px);margin:0 0 4px}
.about-hero-copy>:not(.eyebrow):not(h1){grid-column:1/-1}
.about-hero-copy>p.lead{margin-top:28px}
.about-hero>.about-hero-photo{grid-column:2;grid-row:1/3;justify-self:end;align-self:center;width:calc(100% - 20px);max-width:none;margin:8px 12px 12px 8px}
.about-hero-photo:before{transform:translate(12px,12px)}
.about-hero-photo:after{transform:translate(-8px,-8px)}
.page-intro.has-art>.intro-art{align-self:center;width:auto;height:150px;aspect-ratio:520/290;margin:30px 0 0;opacity:.85}
}
