/* Laura & Nick — design tokens, flattened for static hosting */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Jost:wght@300;400;500&family=Parisienne&display=swap");

/* tokens/fonts.css */


/* tokens/colors.css */
:root{
  
  --grey-olive:#7E8F82; --almond-cream:#EDE1D1; --dusty-rose:#B07974; --dark-amaranth:#7F1C2E; --rusty-spice:#9F4924;

  
  --olive-050:#EFF2EE; --olive-100:#DEE4DD; --olive-200:#C7D0C6; --olive-400:#9CAB9F; --olive-500:#7E8F82; --olive-700:#5C6A60; --olive-900:#39433C;
  
  --cream-050:#FBF7F2; --cream-100:#F6EFE5; --cream-200:#EDE1D1; --cream-300:#E0D0BA; --cream-500:#C8B69D;
  
  --rose-050:#F8EFEE; --rose-100:#EFDCDA; --rose-300:#D3AAA6; --rose-500:#B07974; --rose-700:#8B5A56;
  
  --amaranth-100:#F3E4E7; --amaranth-500:#7F1C2E; --amaranth-700:#5D1522;
  
  --spice-100:#F4E4DA; --spice-300:#C88A64; --spice-400:#B5623B; --spice-500:#9F4924; --spice-700:#7A3719;

  
  --ink:#241F1D; --ink-muted:#6E625A; --ink-faint:#9A8E84; --rule:#E3D9CE; --white-warm:#FFFCF9;

  
  --bg-page:var(--cream-050);
  --bg-alt:var(--cream-100);
  --bg-band-sage:var(--olive-100);
  --bg-band-sage-2:var(--olive-200);
  --bg-band-sage-light:var(--olive-050);
  --bg-band-rose:var(--rose-500);
  --surface-card:var(--white-warm);
  --surface-tint:var(--rose-050);
  --surface-tile:rgba(255,252,249,.92);

  
  --text-primary:var(--ink);
  --text-secondary:var(--ink-muted);
  --text-faint:var(--ink-faint);
  --text-on-dark:#FFFFFF;

  
  --accent:var(--spice-500);          
  --accent-hover:var(--spice-700);
  --accent-deep:var(--amaranth-500);  
  --accent-soft:var(--rose-500);      
  --border-hair:var(--rule);
  --border-strong:var(--cream-300);
  --error:var(--amaranth-500);
  --botanical:var(--rose-300);
  --botanical-warm:var(--spice-100);
}

/* tokens/typography.css */
:root{
  --font-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --font-script:"Parisienne","Mrs Saint Delafield",cursive;
  --font-utility:"Jost","Futura","Century Gothic",system-ui,sans-serif;

  --weight-display-light:300; 
  --weight-display:400;       
  --weight-display-med:500;   
  --weight-utility-light:300; 
  --weight-utility:400;       
  --weight-utility-med:500;   

  
  --fs-display-xl:clamp(48px,11vw,88px); 
  --lh-display-xl:0.95;                  
  --ls-display-xl:-0.02em;               
  --fs-display-l:clamp(40px,9vw,64px);   
  --lh-display-l:1;                      
  --ls-display-l:-0.01em;                
  --fs-display-m:clamp(30px,6vw,44px);   
  --lh-display-m:1.15;                   
  --ls-display-m:-0.005em;               
  --fs-display-s:clamp(24px,3.2vw,28px); 
  --lh-display-s:1.25;                   
  --ls-display-s:0;                      

  
  --fs-script-l:clamp(34px,5vw,48px); 
  --lh-script-l:1;                    
  --fs-script-m:clamp(24px,3vw,30px); 
  --lh-script-m:1.1;                  

  
  --fs-eyebrow:12px;   
  --lh-eyebrow:1.2;    
  --ls-eyebrow:0.22em; 
  --fs-nav:13px;       
  --lh-nav:1;          
  --ls-nav:0.14em;     
  --fs-body:16px;      
  --lh-body:1.75;      
  --ls-body:0.005em;   
  --fs-body-s:14px;    
  --lh-body-s:1.7;     
  --ls-body-s:0.005em; 
  --fs-caption:12px;   
  --lh-caption:1.6;    
  --ls-caption:0.06em; 
  --fs-button:12px;    
  --lh-button:1;       
  --ls-button:0.16em;  
  
  --fs-editorial:18px; 
  --lh-editorial:1.6;  

  
  --measure:66ch; 
  --measure-tight:52ch; 
}
@media (max-width:768px){:root{--fs-eyebrow:11px;--ls-eyebrow:0.20em}}

/* tokens/spacing.css */
:root{
  --space-4:4px; --space-8:8px; --space-12:12px; --space-16:16px; --space-24:24px;
  --space-32:32px; --space-48:48px; --space-64:64px; --space-80:80px; --space-96:96px;
  --space-120:120px; --space-160:160px;

  --container-max:1200px;
  --content-max:1120px;
  --gutter:24px;
  --grid-gap:24px;
  --grid-columns:12; 

  --section-y:96px;      
  --section-y-lg:120px;  
  --card-pad:32px;

  --rule-title:64px;     
  --rule-eyebrow:40px;   
  --tap-min:44px;
}
@media (max-width:768px){:root{--gutter:16px;--section-y:56px;--section-y-lg:64px;--card-pad:24px}}

/* tokens/surfaces.css */
:root{
  --radius-none:0;        
  --radius-card:2px;      
  --radius-pill:999px;    
  --radius-round:50%;     

  --hair:1px;
  --border-hairline:1px solid var(--border-hair);

  --shadow-none:none;
  --shadow-float:0 2px 28px rgba(36,31,29,.08);  

  
  --scrim-left:linear-gradient(90deg,rgba(251,247,242,.96) 0%,rgba(251,247,242,.92) 34%,rgba(251,247,242,0) 62%); 
  --scrim-right:linear-gradient(270deg,rgba(251,247,242,.96) 0%,rgba(251,247,242,.92) 34%,rgba(251,247,242,0) 62%); 
  --scrim-top:linear-gradient(180deg,rgba(251,247,242,.94) 0%,rgba(251,247,242,.75) 38%,rgba(251,247,242,0) 78%); 
  --scrim-photo-text:linear-gradient(180deg,rgba(36,31,29,0) 40%,rgba(36,31,29,.45) 100%); 

  --focus-ring:0 0 0 3px var(--spice-100);
  --blur-nav:saturate(120%) blur(10px); 
  --nav-h:88px;
}
@media (max-width:900px){:root{--nav-h:64px}}

/* tokens/motion.css */
:root{
  --ease-reveal:cubic-bezier(.22,1,.36,1); 
  --ease-standard:cubic-bezier(.4,0,.2,1); 
  --dur-hover:200ms; 
  --dur-image:600ms; 
  --dur-reveal:500ms; 
  --dur-photo:700ms; 
  --dur-card:600ms; 
  --stagger:60ms; 
  --reveal-shift:24px;
  --image-hover-scale:1.03; 
}
@keyframes ln-reveal{from{opacity:0;transform:translateY(var(--reveal-shift))}to{opacity:1;transform:none}}
@keyframes ln-card-up{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes ln-photo-in{from{opacity:0}to{opacity:1}}
@keyframes ln-rule-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* tokens/base.css */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-utility);font-weight:var(--weight-utility-light);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);text-wrap:pretty;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-display);margin:0;letter-spacing:var(--ls-display-m)}
p{margin:0 0 1em}
img{display:block;max-width:100%}
a{color:var(--accent);text-decoration:none;transition:color var(--dur-hover) var(--ease-standard)}
a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--accent);outline-offset:2px;box-shadow:var(--focus-ring)}
button{font-family:inherit}
hr{border:0;border-top:var(--border-hairline);margin:0}
::selection{background:var(--spice-100);color:var(--ink)}
.ln-container{max-width:var(--content-max);margin:0 auto;padding-inline:var(--gutter)}
.ln-bleed{width:100%}
.ln-reveal{animation:ln-reveal var(--dur-reveal) var(--ease-reveal) both}
